Text subtitles: Improve the error message when the parsing fails.

Make the message clearer and display the line that caused the error.

Fixes #4428.
Text subtitles: Lower the priority of SAMI and USF for format detection.

SAMI is costly to rule out and both are quite uncommon.

This makes opening ASS/SSA files about 10% faster.
Text subtitles: Various minor optimizations and cosmetics.

Reorder a conditional for better performance, don't construct empty object to initialize them later, use correct character type...
Text subtitles: Avoid useless conversion from CStringW to CString.

Around 5% faster.
Text subtitles: Optimize GetInt and GetFloat.

Avoid creating empty string objects and useless conversions to lowercase.

Around 5% faster overall on a random test file.
Text subtitles: Optimize white space trimming.

Around 20% faster.
Don't force any background color for the Shockwave graph.

This commit fixes #1747.
ISR: Render text subtitles relative to the video frame when in doubt.
Why "C:\tmp.srt"?
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...
Fix: x86 and x64 versions conflicted over file associations.

4f465cf8b81f1da800b1bfc57cc48e317d24fbb5 was incomplete for Vista+.

This commit fixes #4064.
Auto mode for relative to.