Revise seek-on-keyframe code

It now uses stl structures and algorithms.
When dragging the seekbar thumb, the thumb now sticks to keyframes
if seek-on-keyframe is enabled.
PlayerSeekbar: handle doubleclick event

To even the numbers of ups and downs.
PlayerSeekbar: remove m_rtPosReal

It just duplicates m_rtPos in current code.
MainFrm: remove seek-on-keyframe legacy hack

It breaks accurate keyframe seeking in LAV
Add seek-on-keyframe rounding method selection
AppSettings: seek to nearest keyframe by default
player.html: remove width completely.

It's handled in JS.
Initialize variables in the constructor.
Enable per-monitor DPI-aware on Windows 8.1.

Fixes #3356.
Add a Doxyfile to generate source doc.

WIP
Use DEBUG_NEW instead of new.
temp
CONTRIBUTING.md: fix forking link.