Found the perfect microcontroller for my machine.
Meet the Arduino Mega 2560!
* USB driven (via serial), up to 54 I/O pins.
* Can operate in standalone mode (if needed in the future)
* Extensible (can support SD cards, MP3 etc)
But of course... 54 I/O ports won't get me very far, so I've ditched 7 ports in exchange for 48 more (by multiplexing outputs). A total of 115 digital I/O ports + 16 analog inputs.