Update Visual Studio Support

* Split MINGW into Win32, MinGW and Msvc specific implementations.
* Qt 5.1 changes to remove use of deprecated methods
* Msvc specific changes.
* Introduced Platform directory for platform specfic files.
Add missing header file.
Merge branch 'master' into personal/dblain/msvc
Clean up MSVC compile issues since last merge from master.
Merge branch 'master' into personal/dblain/msvc
Add missing files for taglib
Added missing file for zlib
Replace MSVC specific headers with more complete versions
Update to ignore MSVC & cmake generated files.
Fix crlf
Add new taglib .gitignore file
Fix compile errors due to the merge from master.
Add support to build FFmpeg using msvc for Windows
Fix crash in windows on startup

Can't call tr() during static initialiation when compiled using msvc.
Merge remote-tracking branch 'origin/master' into personal/dblain/msvc
Fix for Visual Studio IDE compilation.
Speed up drawing caption text with outlines.

The old method of drawing text with outlines involves drawing the same
text many times at various offsets, with the offsets based on
traversing the perimeter square of pixels with edge length 2N+1, where
N is the specified outlinesize.  This means drawing 8N extra copies of
the text.  With some fonts and point sizes, this can be a very
expensive operation, leading to video stuttering while captions are
drawn.

The new method draws just one extra copy, but with a pen width set to
2N+1, which is much faster.  Beware that using a huge outlinesize may
lead to strange artifacts in the outline (but that was already the
case for the original outline code).

Refs #10984.
Remove execute bit on source files.

This happened in 6438e9a8716a6e2c7c31fb65e85b42d6a782ed12.
Use const ref args in the constructor.  Refs #10984
Make sure smolt directory is created before trying to read from it.

This makes sure the configuration storage directory has been created
prior to attempting to use it. Smolt typically stores to /etc, and
assumes the packager has created its desired directory. There is
probably a cleaner place to put this code, but this is a catch-all for
several files read from that directory.

Fixes #11803