[videoinfoscanner] scan the entire subtree of path passed to scanner.

- fixes new files not getting picked up when more than 1 level down.
- fixes hashing never being used when scanning a single directory.
SlingboxLib: Fix alternative CSlingbox constructor

CSlingbox::CSlingbox(const char * szAddress, unsigned int uiPort /* = 5001 */) {
  // Call default constructor
  CSlingbox();
  ...
}

"CSlingbox();" - object is created and immediately removed.
Therefore with CSlingbox(const char * szAddress, unsigned int uiPort /* = 5001 */) class members will not be initialized.
[gui] adds new method GetSelectedItemPath() to CGUIViewControl
[pvr] fix: remember the wrong selected item path if you close the channel osd

If you close the channel osd on a different group than the current playing group without switching to a channel of this group, the wrong selected item path is stored in the global variable. This fix it by setting the proper selected item of the current playing group.
[pvr] use new GetSelectedItemPath() method in CGUIWindowPVRBase
[bluray][files] Add new BlurayFile class.
[settings] - add new expert setting for enabling ios8 compatibility
[release] bump to 14.0 beta1
[airplay] - implement different announcements when using the ios8 compatibility mode
[airplay] - implemented photo asset cache
[airplay] - send an error code for the fp-setup request
[airplay] - add some handy helpers for using binary plists
[airplay] - handle /play of newer airplay protocols - instead of location it sends 2 seperate entries host + path
[airplay] - merge the binary plist and xml plist pathes in airplay (which already diverged) by using libplist for parsing in both cases - not only the binary case
[airplay] - support the /play command which wants us to start playback "paused" - (camera roll on ios8 for example)
[pvr] fix unnecessary creation of new CPVRChannel instances
Dialog: Don't reset symbol keys after onClickButton

* Resetting the keys makes typing a URL, SMB, FTP or any address
    a longer process than is necessary, especially with a remote.

Signed-off-by: Brandon McAnsh <brandonm@matricom.net>
CacheStrategy: remove usage of emulated win32 functions, switch to internal VFS
[vobsub] Fix for incorrect colours with vobsubs and GLES

Fixes #15146

The code provides the overlay texture in BGRA format, which it informs GL about.
However GLES does not support BGRA, and just claims it is RGBA which results in a red/blue swap.

So this code path needs a red/blue swap.
[builtin] fix activatewindow if directory path differs

After #5081 the built-in "activatewindow" does not work if you stay for example in the video window and you want to activate the same window with a different path.
This fixes the issue by comparing the directory path of the current active window with the given directory path of activatewindow.