Fixed save state crash.
The program was trying to save the game state,
even though the game was never run.
Add an InputDeviceMapping class

It holds the mapping table device event -> retro device id, among other
things.
InputManager: add an enumerateDevices() slotted method
Move InputManager to a global variable

Also, add a Q_INIT_RESOURCE to the SDLEvents constructor, since it will
now be called before app.exec()
Joystick: Temporary fix to use the first joystick detected

Now that we moved SDLEvents instance to a global, it's initialized very
early and Joystick can't catch the DEVICEADDED event.
UI: Show the input device list on the Settings window