Fix: PGS subtitle timings were sometimes wrong.

Some PGS subtitles started or ended too late.

Subtitles should be queued before we know when they really end because the next subtitle can come much later in the stream.

This commit fixes #3691.
Remove a duplicated clean-up.
Add wrapper for dynamic winapi function loading
Prepare for new osd engine

 - Adds thread-safe playback state storage class
 - Encapsulates seekbar thumb drag logic to be reused
   in new osd seekbar
Get rid of start time in PlaybackState::Pos struct
MainFrame: refresh metadata less aggressively

In 4cf10a we started to resend same metadata repeatedly to both api and
skype. In this commit we do it only if the metadata actually changes.
MainFrame: fix taskbar clip area calculation
Separate TaskbarList from MainFrame and SeekBar
Add EditorConfig support