Add basic keyboard > joystick button mapping

  - Enable testing of plugins that take input without connected
     joypads by mapping keyboard input events to joystick events

  - Renamed handle method in DiscoFloor plugin so that it receives
     events
Exit when we hit the close button in the GUI