Switch to spaces for indentation.
WebUI: update normalize.css to v3.0.0.
Update lcms to 2.6 (40300b1)
Update unrar to v5.1.1.
web/default.css: Tweak player.html's style.
web/javascript.js: fix all JSHint issues.
web/default.css: minor refactoring.
MainFrame: improve snapping behavior

Previously, we could mistakenly treat maximized state that was
entered with aero snap as our own snap. It produced problems when
the window was being dragged out of that maximized state.
This commit fixes that situation.
Don't exit "delay show not loaded" state on show
Don't paint logo in "delay show not loaded" state
Don't show toolbars in "delay show not loaded"

If exclusive seekbar was active when entering said state
Lower "delay show not loaded" duration
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.
Ensure the DirectShow graph is completely destroyed after CloseMediaPrivate().

Destroy all dynamic menus that can possibly hold a reference on an object of the graph.

This fixes a strange issue with the logo not being redrawn in some cases when MadVR was used.
Ensure the keyframe timings array is read/written only by the main thread.

Revert 02356359a23ded82585560fade11b9089d590734 and remove the other duplicate I initially kept. Even if we get that info from the DirectShow graph, the array is filled and used only by the main thread. It's safer and more consistent to have it cleared by the same thread.
PGS Subtitles: Fix subtitles not being removed from screen after d8deeda49e270d02e9eae795265494184f409b29

Since we drop empty segments we were trying to update the end time of segments that weren't in the queue and we ended up modifying the previous segment that was completely unrelated.

Fixes #3691.