[rendercapture] Fix passthrough rendercapture interface

The RenderCapture function doesn't behave correctly for passthough video renderers,
and in fact segfaults on Pi when setting a bookmark.

There is no need to do a glReadPixels to get a video snapshot in the passthrough case,
so provide a shortcut.
[rbp] Support grabbing just the video layer through rendercapture

As the bookmark snapshot doesn't want the OSD (and neither does boblight)
allow video, or video + GUI to be selectable.

While we're there, making the GPU do the red/blue swap and stride packing saves some cpu.

Requires updated firmware
[rbp/omxplayer] Avoid too many calls to GPU

We currently read the media time once per packet received from demuxer to determine gpu underrun.
We've found that TrueHD audio in particular produces ~1000 packets per second (whether it is the active track or not).
The cost of reading media time (from gpu) is high enough that 1000 calls per second makes us fail to keep up.
So, cache the media time, and only read it at most 50 times per second.
[rbp/omxplayer] Avoid audio codec when in passthrough modes

There is no need to open the ffmpeg audio codec when in passthrough mode.
Also there is no need to close/open the OMXAudio component when parameters (like number of channels) change in passthough.
This avoids an unpleasant stutter
[3d] fixed wrong size of ass subtitles under sbs/tab 3d mode.
[addons] add Gotham repositoy
fixed: scraper fallback logic

code ended up selecting the default album scraper for artists
ActiveAESink: Fix GenarateNoise()
[LangCodeExpander] Add method CompareLangCodes(const CStdString& code1, const CStdString& code2).
Its purpose is to determine if two languages given as ISO 639-1, ISO 639-2/T, or ISO 639-2/B codes represent the same language.
[LangCodeExpander] Add method CompareFullLangNames(const CStdString& lang1, const CStdString& lang2).
Its purpose is to determine if two english language names represent the same language.
For example "Abkhaz" and "Abkhazian" represent the same language.
[DVD/OMXPlayer] Fix auto-selection of audio and subtitle streams by using a generic language compare method.
XBMC's audio and subtitle language is stored as an ISO 639-2 T code, but a video's metadata could also store it as an ISO 639-2 B code which could differ from the T variant.
add new language string for sort title
Merge pull request #3207 from fritsch/active-ae-slidely-louder

ActiveAE: Fix double to float conversion in Noise Function
Merge pull request #3211 from popcornmix/gpu_calls

[rbp/omxplayer] Avoid too many calls to GPU
Merge pull request #3212 from popcornmix/avoid_audio_codec

[rbp/omxplayer] Avoid audio codec when in passthrough modes
python: extend CPythonInvoker to be able to handle interpreter initialization/deinitialization
python: introduce CAddonPythonInvoker to be used for python scripts run for addons
[win32] update VS project files
[osx/ios/atv2] - sync xcode projects
Merge pull request #3220 from cptspiff/fix_fallback_scraper

fixed: scraper fallback logic