ControllerHandler: Initialise keyboard callback with core

Initialize the keyboard callback to null when setting a new core.
Add Gamepad
Rename KeyboardGamepadConfiguration in GamepadConfiguration
Remove Keyboard
Turn KeyboardBox into KeyboardState
Gamepad: Use KeyboardState
Add Keyboard
ControllerHandler: Implement changes in Retro.Input