Input handling fixes and improvements.

- Fixed setting new keys with the keyboard
- Fixed using the hat at first time startup
- Added joystick help missing key.
- Precised the input API about joystick and keyboard events.

Fixes #343