extend xbmc.Monitor with onAbortRequested(), it will be called by XBMC before shutting down.
allow xbmc to kill specific Addon ID, if not supplied we kill all addons
[dvdplayer] remove old disabled looping still frame handling code

Disabled code that should be written differently if we
every need it again.
[dvdplayer] remove old delayed processing of player sync

It should not be needed with the new handling of continuity
and the change most likley fixes issues with EDL seeking
causing long delays.
[dvdplayer] rewrite syncronization message to be more efficient

This new sync message will now wakeup directly on object release
to check situation. It should reduce any scheduling delay that
previous implementation had.
[dvdplayer] push back sync objects in message queue to process prio message

Note, this could be moved into message queue and hidden from players
but i'm not sure it's that beneficial.
[dvdplayer] restore proper starttime behaviour

It should represent first dts of stream and is used to add start delays
to individual streams that start later than their sibling streams.

This got broken by cd36abfd9763c63753853483bfa9b17f2edd8b73 then further code started depending on the broken behaviour.
[video] replace useless weave interlace mode with double rate weave

This will re-use previous frame to render fields sequentially, avoiding
the need to synchronize buffer swaps with any specific output field. This
should allow usage of xbmc on an interlaced display.

Note, this uses a multipass approach to rending which can be slow
on large output devices.
[video] cosmetic: rename PresentBob to PresentFields and remove unused PresentWeave
peripherals: added support for enum settings
changed: Move actual protocol translation in a seperate static function
added: URIUtils::ProtocolHasEncodedFilename() function
fixed: Copying from URL-encoded sources to non-URL-encoded targets created wrong destination file names
cec: libCEC 1.7.1 support and fixes. libCEC 1.6.1+ is needed when using firmware v2 on the CEC adapter, which adds wake over CEC
  * added a new setting to control whether to put the TV in standby when the player is put in standby.
  * added some button mappings: all menu related buttons -> menu, previous channel -> teletext, added support for the channels list on samsung, mapped next fav -> menu (when available)
  * display the firmware version and firmware revision date in the peripheral manager (if available)
  * handle the new CEC alert callback (libCEC 1.6+)
  * replaced 'Put this PC in standby mode when the TV is switched off' with an enum that allows the user to chose between 'Ignore', 'Suspend' and 'Shutdown'
  * display a warning if the port cannot be opened because of permission problems or when the port is busy
  * map NEXT_FAVORITE, DOT and AN_RETURN to XINPUT_IR_REMOTE_TITLE (context menu)
  * added libCEC 1.7.0 support, which adds physical address autodetection for AMD graphics cards, and some nVidia cards on Linux. when the address is autodetected, then the 'HDMI port number' and 'connected to HDMI device' settings will be hidden
  * fixed - crash when changing settings without libCEC started.
  * fixed - range of wake and power-off devices
  * fixed - update the correct standby device setting ('standby_devices' not 'wake_devices')
  * fixed - don't get the settings from the eeprom, but always use the settings provided in xbmc
  * fixed - ignore OnScreensaverDeactivated message if it was triggered by a shutdown/suspend command. If the screensaver is activated and hence the tv is in standby, a shutdown command will first deactivate the screensaver and then start the shutdown. The tv will be turned on but immediately send a standby command which may be ignored if it is still powering on.
  * fixed - don't crash when XBMC was compiled with libCEC support, but libcec.dll/.so/.dylib can't be loaded. display a kaitoast warning instead.
  * fixed - re-check the menu language and audiosystem status after the user changes settings
  * fixed - keypress handling. handle diagonal buttons properly
  * fixed - include system.h in Peripheral.h, or HAVE_LIBCEC may not be defined
  * fixed - don't reinit the connection when libCEC detected that the connection was lost, but just display a warning message. the OS will detect that the device has been removed and will already close the connection
  * fixed - ensure that the callbacks are reset to NULL before setting them
  * win32 - pthreadVC2.dll is no longer needed and not included in the zip anymore, so don't try to copy it
peripherals: call OnDeviceRemoved() before destructing a device when the device was unplugged
nyxboard: map the 'power' button on the nyxboard
fixed: We should only URL encode characters that should indeed be URL encoded according to RFC1738
fixed: Handling of URL encoded stacked files was broken in some places
updated: List of internet protocols + removed MMS from HTTP translation list (done through ffmpeg now)
changed: No longer need to translate for ftp