Fix auto-loading subtitles for video filenames containing special characters.

After 8c16873c8e6af244bed48e0ca446ec51e033c01f, auto-loading subtitles could fail or give wrong results for video filenames containing the following characters: !-.^+{}[]()$.

This commit fixes #3433.
Initial subtitle track selection: Update the special internal splitter case for LAV Splitter.

If the internal splitter has its own language preferences set, we won't override its choice.
Skip initial audio track selection process if only one track is available.
AudioSwitcher: Group tracks based on the status reported by the underlying IAMStreamSelect interface.

Will be used later.
AudioSwitcher: Output a pointer to the underlying filter for tracks sharing one pin.

Will be used later.
Initial audio track selection: Override splitter choice only for the internal splitter if no preferences have been set at that level.

An option will be added later to turn off that behavior.
Move the option "Allow overriding external splitter choice" to playback page and use it to control audio and subtitle tracks.

This commit fixes #3316.