ISR: Disable "Save subtitle" command when it's unsupported.

Based on Kasper93's patch.
Cosmetic: Prefix (smart) pointers with p in SubtitleInput struct.

It's clearer that way.
Use AtlEscapeUrl/AtlUnescapeUrl to do URL encoding/decoding.

This is now available outside of ATL Server. It avoids using our incomplete URL encoding function.
PGS subtitles parser: Use CAutoPtrList to avoid manipulating raw pointers.
DVB subtitles parser: Use CAutoPtrList to avoid manipulating raw pointers.
Updated LAV Filters to 0.61.2-11-g70ec47a (custom build based on 0.61.2-6-002d1f2)

Important changes:
 - LAV Splitter: Alternate audio support for HLS (ticket #3575)
 - LAV Video: Support VP7 video
 - LAV Video: Use the MediaFondation WMV decoder on Windows 7+ instead of the DMO WMV decoder
 - Updated ffmpeg and libbluray libraries
Fix: Two private interfaces had the same UUID.

Requesting IBDATuner succeeded even if the interface wasn't implemented since it had the same UUID than IGraphBuilderDeadEnd.

Fortunately this had no visible effect thanks to additional checks.
Renderer statistics: Hide an unneeded line when VSync is disabled.
PGS/DVB subtitles: Simplify the code.

Use only 3 classes instead of 4. Will be useful for some future work.
Fix: Changing the zoom level didn't leave fullscreen anymore after 54d1fa7cd5d3cd448c663033a35e756847de6bad.

This commit fixes #4288.
StatusLabel: flickerless paint
PlaylistBar: drag and drop deeply nested folders

Support it.
Discard .ini cache when it's not being accessed

Refs #4193
Flush .ini cache after idle processing is done
Use the right prefix for bool variable
Construct CAppSettings in InitInstance()

It allows us to use COM objects in CAppSettings ctor.
FileAssoc: don't use static methods
FileAssoc: don't use static variables
Reduce header dependencies
Cosmetics

Placed 'extern' functions together.
Marked local functions as 'static'.
And some minor clean-ups and cosmetics.