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).
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.