Fix uninitialized scalar values

Fixes CID #1086903
Ensure extradata is available before freeing it.

Fixes CID #1086897
Don't run the audio deinterleaving for real audio on a flush.

Fixes CID #1086895
Remove unused variables

Fixes CID #1041218, #1041217
Initialize variable in constructor

Fixes CID ##1041212
Initialize alpha value to 0

Fixes CID #1041174
Move demuxer init down to where its needed.

This avoids a resource leak in an error case.
Fixes CID #1041164
Free memory on failure

Fixes CID #1041160
De-allocate the memory buffer when the registry value could not be read.

Fixes CID #1041155
Initialize class members

Fixes CID #1041204, #1041212, #1041203, #966280
Make VS2012 the default build environment.
Produce better debug symbols in release builds.

Reference:
https://randomascii.wordpress.com/2013/09/11/debugging-optimized-codenew-in-visual-studio-2012/
Propose a RGB mediatype with negative height on connect.

This can help the renderer/post-processor to pick the "proper" type,
so that flipping RGB images can be avoided.
Add support for THP MJPEG
Update ffmpeg for assert fix in avi
Fix 16-bit DVD LPCM decoding

Fixes Issue #392
Fix playback of DVD LPCM with other source filters or other decoders.
Avoid negative file positions in the BD demuxer
Manually sync to the seek target position if required

libbluray can only seek to random access points on the disc, so
we may need to fix the position manually in this case.
Seek after the 4-byte extra TS headers on BD.

This avoids an extra resync pass and improves seeking performance.