Added RetroPlayer, a new player core that enables game clients to play video and audio.
Added RGB565 support.
Added CButtonTranslator::IsAnalog(int actionID) for testing if an action may be analog
[joystick] 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. The current behavior is retained, where the most recent button action across all controllers is repeated at a 0.1s delay.

Analog axes can now imitate buttons, allowing easy GUI navigation. For example: `<axis id="1" limit="+1">Right</axis>`. This has the effect that pushing the analog stick >= 50% right will send a single Right action. After an initial delay (500ms) it will then send more Right actions at a 100ms period until the right stick is moved < 50%. This behavior mirrors keyboard keys.
[joystick] 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.
[joystick] Added Linux Joystick API client to joystick abstraction
Refactor CKeyboardStat so that an event can be translated to a key without calling ProcessKeyDown()
Added keyboard and joystick input handling to RetroPlayer built on the new joystick abstraction layer
Add new type of add-on, xbmc.addon.game - plugins and scripts that can be run from MyGames window
Add xbmc.addon.game as a valid add-on type in the JSON-RPC interface
Add repository for new ROM Collection Browser with "Game Add-on" support
Add MyGames window to the GUI

File sources and Game Add-ons are the two root folders
Add default icon for game files.
Allow Python xbmc.Addon objects to be constructed from uninstalled add-ons.

Only getAddonInfo() is available to uninstalled add-on objects. Attempting to get/set settings or location strings will have no effect.
xbmc.Addon.getAddonInfo() can return "extensions" and "platforms" properties for game client add-ons
[JSON-RPC] New parameter for Addons.GetAddons, "uninstalled", to get add-on info from remote repos.

Example:

Addon.GetAddons( { "method": "Addons.GetAddons", "params": { "type": "xbmc.addon.video", "enabled": "uninstalled" } } )