Split code, added improved controller system.

Files are now separated to make commits easier to manage. Added an
improved remote control system with button down support (only activates
once, as an event would).