[pvr] refactor: define map type for epg container
[pvr] refactor: use map to improve recording lookup in recordings container
[pvr] refactor: use std::string for recording id to avoid implicit casts
[pvr] cosmetics: fix minor typos in comments
[pvr] add optional support for playing recordings from epg timeline or epg osd
[confluence] add "has recording" marker to programmes having associated recordings in epg timeline view, epg osd and programme search results
Removed generating new texture repeatedly during character cache.
Copy valid region only from old texture after ReallocTexture().
As a result, reduced stuttering video playback with subtitle.
Use TEXTURE_VOID instead of m_bTextureLoaded
ActiveAE: Add queries to determine number of channels output
[omxplayer] Make use of audio decode fast paths when downmixing

The TrueHD codec actually works in 3 stages.
It decodes the downmixed stereo.
It then decodes the differences required to produce 5.1.
It then decodes the differences required to produce 7.1.

Many users end up downmixing this 7.1 stream back to 2.0.
Much better to tell the codec we only need the 2.0 stream.

When playing a 94s duration video file on an overclocked Pi, the audio decode took:
7.1 channels: 39.6s
5.1 channels: 36.5s
2.0 channels: 23.0s

So, it's almost twice as fast to decode TrueHD when only stereo is required.
[binary addons] move bindings list to a single file
[audioencoders] move vorbis, lame, flac and wav audio encoders to add-ons
[osx] xcode changes
[win32] project changes for audioencoders
[addon-helpers] set building shared libs as default and try to link as static as possible on all platforms but linux
cmake: add xbmc-addons project, filled with audioencoder addons
[win32] add make-addon-depends.bat and cmake-based addon-depends system
[win32] update BuildSetup.bat and installer
[win32] don't copy libvorbisenc to system/cdrip
[win32] remove lame_enc from the list of dependencies