[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
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
CPythonInvoker: fix log message format (thanks vdrfan)
Merge pull request #3218 from koying/fixdroidkeyboard

Various droid keyboard fixes
dxva: revert limit of video resolution

Seems most cards gracefully fail, and some card do support larger rez so allow it.
bluray: make sure root has no trailing slash

fixes Ticket #14579
bluray: make sure bluray play selection is shown from library
VAAPI: Check supported libva-driver-intel to see if 4K decoding is possible