added: setting to disable keyboard grabbing when in fullscreen on platforms that use SDL on X11, calls SDL_WM_GrabInput(SDL_GRAB_OFF) with the SDL_FULLSCREEN temporarily zero'd, this will make SDL call XUnGrabPointer and XUnGrabKeyboard, allowing window manager keys like printscreen, volume and alt-tab to work
[LangInfo] Use preferred audio/subtitle language also for dvds and blurays.
[LangInfo] Use gui's language for dvd/bluray menus.
smartplaylists: use simple WHERE conditions instead of expensive IN statements
smartplaylists: cosmetics in SQL queries
smartplaylists: use SELECT DISTINCT in SQL sub-queries
smartplaylists: replace SQL IN with SQL EXISTS in WHERE conditions
Speedup for opening music song library

Previously, this repeatedly parsed the same URL string over and over again
for every song, each time the list of songs was opened.

Benchmarks for CMusicDatabase::GetSongsByWhere() on a Raspberry Pi with a
library of 4115 songs:

Before patch: 14.5 seconds
After patch:   4.0 seconds
get rid of SCRIPTXXX labels
[rbp/omxplayer] No need for two debug messages per component init
[LangInfo/AddonManager] Use gui's language for translation in CAddonMgr::GetTranslatedString.
[rbp/omxplayer] Ignore expected errors when tearing down audio

The previous commit to avoid the error log message for port unpopulated
doesn't actually swallow the error event, so the next command issues will fail.

(currently we don't care as we are cleaning up, but it makes editing this code fragile)

I've also changed the teardown sequence to match the video component which seems safer.
[rbp/omxplayer] Copy audio splitter port parameters directly

Should have the same effect, but direct way seems more robust to other changes
[rbp/omxplayer] Remove tunnel flushes

A tunnel flush flushes the ouput port of the source component and the input port of the dest component.
However the code already flushes all the ports of components, so many ports are flushed twice.

Remove the tunnel flush API and just flush component ports
[rbp/omxplayer] Make disabling ports optional

We typically don't want to disable ports after establishing a tunnel, so make this optional and default to false.
[rbp/omxplayer] Avoid hiding some unexpected error conditions
[rbp/omxplayer] Remove component locking

The OMX library is thread safe.

If we need to provide atomicity of groups of accesses, then that is done at the higher level
(e.g. OMXAudio), so remove the lock from the lowest level
[rbp/omxplayer] Add wait to port enables/disables

We get very occasional incorrect state errors when we don't wait for a port enable/disable.
fixed, runtime determined settings need OnSettingUpdate callback handlers
[depends/libcdio] - bump to 0.90 again (was lost during unified deps)