Merge pull request #3642 from Montellese/video_context_cleanup_continued

more context menu cleanup in video library
videodb: shorten text for unavailable source popup during library clean
Merge pull request #3735 from xhaggi/confluence-epg-timeline

[confluence] texture changes for epg timeline view
Merge pull request #3629 from xhaggi/subtitle-flags

[confluence] replace subtitle flag icons with new ones
[WIN32] avoid getting the viewport so often.
[WIN32] fixed: use backbuffer only if we got it.
[rbp/omxplayer] Avoid segfault when switching fullscreen

Switching fullscreen causes a brief UnregisterAudioCallback/RegsisterAudioCallback.
If this occurs while audio thread is inside VizPacket then we segfault on dereferencing m_pCallback.

Using the m_critSection lock means the higher level test for m_pCallback will protect us.
CUtf8Utils: add "checkStrForUtf8()"
New UTF-8 string check, based on current Unicode standard (6.3), with three result values: plain ASCII, valid UTF-8, high ACSII.
Merge pull request #3747 from wsoltys/viewport

[WIN32] avoid getting the viewport so often
[WIN32] removed CStdString from RenderSystemDX.*
fixed: compiler warning
renderer: add underlying support for 16bit textures on gles
renderer: move UploadYV12Texture to same location as in GLES renderer

Simplifies diffing
renderer: match GLES UploadYV12Texture structure with GL version
renderer: calculate source rect on upload GLES:EGL/CVRef/MediaCodec
fixed: We can't grab the duration from the streamdetails for stacks
Utf8Utils: add "isValidUtf8()" for convenient check for valid UTF-8 strings
Remove usage of CharsetConverter.isValidUtf8()
CharsetConverter: remove outdated "isValidUtf8()"
CArchive: support streaming of short, int, long and long long (instead of int64_t)
required for size_t streaming (at least on OSX)