Rewrite mouse handling code (incomplete)

Fixes #1300, #1556, #2081, #3284, #3379

Also:
 - adds timer wrapper objects in MainFrm
 - hidden menubar is now acting like on-demand floating one
 - adds codepath for hiding toolbars in windowed mode,
   but no corresponding AppSettings entries
 - TODO: option to autohide _all_ panels like toolbars
MainFrm: remove unused variable
D3DFS: remove horizontal margin from osd posbar

The bug with autohiding is now fixed and there's no reason to have it
there
ChildView: remove unneeded critical section
PlayerNavigationDialog: minor refactoring
PlayerListCtrl: call CWnd::OnTimer() in OnTimer()

Some mfc timers need that