pvr: Added API function GetRecordingEdl

This extends the PVR API with the function GetRecordingEdl
to retrieve edit decision lists from the PVR addon.

In addition, DVDPlayer's EDL class has been adapted to read the EDL
from the backend when starting playback of a recordings.
dvdplayer: Allow multithread decoding for hi10p content by default

This allows decoding of some hi10p material on e.g. AMD Fusion with
both cores at the max. This introduces a new advancedsetting named
disablehi10pmultithreading to disable hi10p decoded multithreaded.
changed: Add rule for selecting remote (or non-local) items for player selection rules
Stay on safe side, use only one header file.
Other header is located at xbmc/linux/ and seem to be more accurate.
Refactor CSimpleFileCache::WaitData, kill race conditions.
Add compilationartist property to AudioLibrary.GetArtists
Remove unused variable initialization
pvr: Write playCount in WriteClientRecordingInfo
pvr: Read recording's last played position from field in PVR_RECORDING
pvr: Cosmetics
addons: Add Announce function and register addons for announcements

This allows addons to receive announcements and react properly on
all kind of events and system state transitions.

For example pvr addons might want to close and reopen their backend
connections when the system goes to or resumes from standby.
addons: Add WakeOnLan function

WakeOnLan allows addons to send a wol magic packet.

This can be used for example in pvr addons to wake up a pvr backend.
[rbp] Fix for audiotoggledigital on Pi.

Pi only has two audio output modes so the three way toggle gets stuck. This fix corresponds to Pi specific settings code:
https://github.com/xbmc/xbmc/blob/master/xbmc/settings/GUISettings.cpp#L458
[IOS] Fix keyboard not show bug if it was canceled before it did show.
On ios4 with ipad, found that the ios will not send the keyboard did hide
notifaction if the keyboard was canceled before the keyboard did show.
So fix this by trace the keyboard show state, and delay deactivate action
until keyboard did show.
Move the reset code for finished event into ui thread.
when we are using bluetooth keyboard, there is chance the doDeactivate
method be called before the finished event reset in xbmc thread.
guilib: simplify BindToTexture and support any unit

All stages we support are in order after texture 0
gl: add missing alpha setup for texture stages
gl: avoid using explicit texture, use bound texture
opengl/d3d: add support for limited color levels (16-235)
Fix CurlFile::Exists/Stat for check ftp directory with proper cwd method.