Refactor after playback events handling.

- Playback loop now have precedence over selected action.
Add an advanced option to set minimum duration for remember position
feature and allow to disable it for audio files.

Fixes #353, #3393
Refs #2179
MainFrame: adjust auto-zoom logic for DVB.

We can't determine whether event is triggered after channel change or on
resolution change. Always restore default auto-fit factor.
wth?
Use c++11 random number generators.

In our case it doesn't matter that much, but why not?
CSubPicQueueNoThread: Respect invalidation time.
Do not clear surface cache when max texture size has not been changed.

We were removing valid surfaces from the cache for PGS/DVB subtitles.
Basically surface cache was broken.
SubPic queue: Clear queue only when it's needed.

Time can decrease even within the same video frame and
it make no sense to purge whole queue, if we still can reuse buffered
subpic.