Add CApplication::GetJoystickHandler() to allow access to RetroPlayerInput when playing a game
[keymap] Add alias "Gamepad F310 (Controller)" to Windows XBOX 360 controllers

Controller is Logitech Gamepad F310
[keymap] Add Gamepad F310 (Controller) to <FullscreenGame>
New joystick abstraction - make input handling separate from joystick APIs

This allows for APIs to coexist, such as DirectInput alongside XInput for full 360-like controller support. Multiple joysticks are supported. The current behavior is retained, where the most recent action across all controllers is repeated at a 0.1s delay.
Added XInput joystick support. XBMC now supports all 360-like XInput-compatible controllers out of the box using the Xbox 360 keymap, regardless of controller name.
Move RetroPlayerInput over to the new Joystick abstraction