Text subtitles: Don't fail too hard if an opaque box cannot be allocated.

Properly catch the memory allocation error and continue painting since a missing opaque box is not critical.
Translations: std::list cannot hold const objects.

At least that's what the standard says but Visual Studio is currently broken and accept this.
Property dialog: Always show the beginning of the file name when it doesn't fit.
Fix a rare crash when right-clicking on the playlist panel.

I wasn't able to reproduce the issue but some users had this crash and it doesn't hurt to be careful.

Fixes #4029.
Video renderers: Fix possible crashes when saving the current frame.

Correctly lock the resources and check their validity before using them.

Fixes #4551.
Video renderers: Fix typos that caused some locks to be released too early.

As far as I know, nobody ever reported any issue related to this.
DirectShow hooks: Be more careful when hooking.

Using VirtualProtect without checking that it succeeds is a bad idea.

Fixes #2420.
Position the text subtitles relative to the video frame by default.

I mistakenly changed the default to "auto" mode in 0ef048aabb69881036163e5b4e0a03d466b8a0ac.

Fixes #5056.
Make Paint(false) behavior for VMR-7 (renderless) consistent with the other renderers.
Video renderers: Fix a possible crash caused by a race condition.

Fixes #3864.
Don't force any background color for the Shockwave graph.

This commit fixes #1747.
WebUI: Inform the web interface that no audio stream is available.
WebUI: Make use of new [hasaudio] info.
What the hell was intended here?!

Trying to make some sense of that code. Without much luck so far...