[win] Fix default value of vertical sync setting from disable to always.
[vfs] CFile: remove 'virtual' from destructor
no class is derived from CFile
[confluence] replace subtitle flag icons with new ones

As discussed in #3552, this replace the subtitle flag icons with new
32x32 pixel icons from https://www.gosquared.com/resources/flag-icons/

This also fixes some wrong flags like uk. It's Ukrainian not United
Kingdom.
Respect results of WOA.
load replaygain tags on mp4 style files
load tags when opening file so they are available when we try to read replaygain

provide a fallback file type to tagloader based on content

pass content type to DVDplayer for types that support tags, in order to set a fallback filetype
[url] don't run ValidatePath() on hostnames where the protocol has an encoded hostname. fixes #14699
Implement a window ID cache

In the course of each refresh of the visibility of controls (which is
performed every frame), there are many calls to CGUIWindowManager::GetWindow
to convert from a window's integer ID to a pointer to the corresponding
CGUIWindow pointer. This involves acquiring a lock and performing a tree walk.
Yet in practice, the same ID is looked up many times in succession, so this
benefits from a simple cache of the most recently checked ID.

I measured the effect while the Videos window of the default skin was open
(but idle) on a Raspberry Pi, and this simple change alone reduced the CPU
usage by 1.5% from 46.6% to 45.1%:

          Before          After
          Mean   StdDev   Mean   StdDev  Confidence  Change
IdleCPU%  46.6   0.9      45.1   1.2     99.8%       +3.3%
[vfs] remove win32 code from SmbFile.h/.cpp
[vfs] remove win32 code from SMBDirectory.cpp
Added: HttpProxy parameter for setting proxies on stream urls.
CGUIWindowManagerIdCache now defined within the scope of CGUIWindow.
CGUIWindowManagerIdCache::Get now has a single return value.
[dxva] fixup: anaglyph 3d
fix for #14713: RSSDirectory Reading of Boxee Genre Incorrect
[3d] added 3D subtitle depth
[pvr] fix view mode not being set properly after channel switch under certain
circumstances
[epg] fix: hide progress indicator if go forward in time
videodb: SQL query cosmetics in CleanDatabase()
videodb: use faster (NOT) EXISTS instead of (NOT) IN CleanDatabase()
videodb: handle files whose source is completely gone differently during clean