PGS subtitles: Update RemoveOldSegments to account for unknown end time.

This was broken after d8deeda49e270d02e9eae795265494184f409b29, some subtitles could be wrongly removed.
Initialize members and remove unused ones.

Fixes CID #1192565
Fix: MoveVideoWindow() might not be called when needed after 7c6a1ce
("Don't MoveVideoWindow() during fullscreen toggle")

We need to call MoveVideoWindow() to properly handle EC_VIDEO_SIZE_CHANGED event.

Refs #4178
Cosmetics for MoveVideoWindow() method.
Revert "Fix rare black screen issue with madvr"

This reverts commit 455619eadd8c157f977041bdbad4522c47166eb3.

Not reproducible with latest mpc-hc and madvr.
Add wrapper for dynamic winapi function loading
MainFrame: allow unelevated taskbar messages

Fixes #4181
Seekbar: don't rely on system font for metrics

Refs #3997
Subtitle queue: Ensure the queue is invalidated after seeking.

Fixes #3691.
Subtitle queue: Check the invalidation time against the segment end time.

We could miss some subtitles which needed to be invalidated.

Fixes #3691.
PGS Subtitles: Correctly reset the parser after seeking.

Subtitles displayed just after seeking could be wrong.
PGS Subtitles: Ensure the bounding box is correct when the subtitle isn't rendered.

This could cause a black flash if a subtitle failed to render (after seeking for example).

Fixes #3691.
Cosmetic: Remove an unused function.

This was forgotten during a re-factoring long ago.
CompositionObject: Delete the assignment operator for now.

Forbid the use of direct affectation for now, it would be dangerous because of possible leaks and double frees. We could do a deep copy to be safe but it could possibly hurt the performance if we forgot about this and start using affectation a lot.
Statusbar: add minimal height check

In case system font is too small and DLU conversion goes awry.

Refs #3997
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