EVR-CP and Sync renderers: Ensure the render state is correctly updated.

Make sure the renderers go in paused state when seeking after playback has been stopped.
Temporarily disable the subtitle queue for XySubFilter.

It is not used for now and it will need to be updated after the changes to normal queue are done.
Completely reworked subtitle queue framework.

The new queue should be a bit faster than the older one for a similar number of buffered subpictures. It should also work much better when the number of subpicture becomes important.

This will help for future work.
Subtitle queue: Make the queues aware of subtitles with unknown end time.
ISR: Add the ability to disable subtitle animation even when using no buffering.
Cosmetics: Use a short alias instead of GetRenderersSettings().
Put the subpic queue settings in a structure for easier use and extensibility.
ISR: Add the ability to choose at which state an animated subtitle will be rendered when the animation is turned off.
Sync renderer: Use TRACE to print debug message.
CPPageSubtitles: Various cosmetics.

Reduce the visibility of variables and functions, remove unused variables and functions, use better name.

Also increase the max number of buffered subpic and add a tooltip.
ISR: Animated subtitles: Add the ability to control the animation rate.
Subtitle queue: Correctly handle the cases when rendering is paused.

In such cases, try to block until the subpic is ready since the frame won't be refreshed and the subtitle wouldn't be displayed after seek or resize if the queue is too slow.
SubPicAllocatorPresenter: Protect SetSubPicProvider with a lock.

Stop relying on the global subtitle lock since it can easily create deadlocks.
Subtitle queue: Add the ability to share the lock on the subtitle provider.

The queue can access the subtitle provider concurrently in a read-only manner that allows sharing the same lock to improve the performance.

That is if the queue already owns the lock, it doesn't have to lock again, just ensure that the lock won't be released too early.
Subtitle queue: Give more control on the queue policy when it runs late.

Let the user choose between dropping some subpics (old behavior, now the default) and blocking until the queue catches up (possibly leading to dropped frames by the video renderer).
ISR: Remove "Round up to power of two" option.

This option was meant for old GPU and it was silently disabled as soon as either the width or the height of the texture was higher than 1024.
VSFilter: Add a new config page for the new subtitle queue options.

Also increase the max number of buffered subpic to 120.
Ensure all subtitle providers are freed when closing.

Some memory was only freed when opening a new file or closing MPC-HC.
Subtitle queue: Re-enable the queue for madVR but always advise blocking.

madVR fetches the subpic when rendering not when presenting so we can always be blocking without impacting the performance too much.
Subtitle queue: Try to guess more correctly when a subpic will be needed.

The queue will attempt the minimize the number of subpics rendered.