[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
[addons] add Gotham repositoy
[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.
guilib: add input validation functionality to CGUIEditControl
settings: implement input validation for edit controls
CGUILabel: introduce <invalidcolor> support
smartplaylists: add support for input validation
[confluence] add <invalidcolor> for edit controls and in SettingsCategory.xml
[confluence] support invalid input in SmartPlaylistRule.xml
[win32] update VS project files
[osx/ios/atv2] - sync xcode project
FIX: [droid] add additional droid keyboard code -> XBMC keyboard code mappings
FIX: [droid] don't forward unknown keys
Merge pull request #3088 from Montellese/gui_input_validation

CGUIEditControl: add input validation
fixed: gcc format warnings in PythonInvoker.cpp
ffmpeg backport: h264: do not discard NAL_SEI when skipping frames
add ffmpeg patchfile for backport ab433b250ef3eb74a09be37612e806328451be65