Rewrite mouse handling code

Fixes #1300, #1556, #2081, #3284
D3DFS: remove horizontal margin from osd posbar

The bug with autohiding is now fixed and there's no reason to have it
there
Call OnIdle() less frequently
MainFrm: remove unused variable
ShockwaveFlash: remove unnecessary hack

Current flash resets zoom level after each start anyway

Fixes #2176
ChildView: remove unneeded critical section