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.
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.
Create channels with m_bEPGEnabled set to false for hidden channels

When first creating a channel, set m_bEPGEnabled to !channel.bIsHidden.
This enables the EPG scanner to only work on visible channels as
default, thereby reducing scan time, especially important on setups with
thousands of available channels, but with only a limited set visible.
Enable and disable m_bEPGEnabled when changing channel visibility
refactor GUiRenderingControl, clear dependency to viz
expose GUIRenderingControl to addongui lib
AddonGUI: handle OnAction and OnMessage the same way as internal gui - if control of addon acts, message is taken
ButtonTranslator: check GetFallbackWindow on GetAction, unify with Joystick handling
addongui: add window as fallback to button translater
addongui: add version for the lib
pvr: check version of addongui lib
pvr: bump api version to 1.6.1
Set m_inputBuff to NULL after free in CJpegIO.cpp::Close()

m_inputBuff is passed to realloc() in CJpegIO::Open() after calling
free() in CJpegIO::Close(). This can allow realloc() to reference
memory after it has been freed.
Fix possible NULL pointer dereference in GUIKeyboardFactory.cpp
Added missing '!' to NULL check in GUIDialogCache.cpp
Remove uncondiational assignment of dwDelay to 0 in CGUIDialogCache constructor

It looks like this assignment was not intentional as it prevents
m_endtime from getting set.