Start refactoring the mouse capture code, to allow for several options.
WIP commit.
Change a few things with regards to FreezePointer. Fixup some mousetools to handle the changes.

Not a terribly nice C++ design, but I'll try to get this working first.
More FreezePointer refactoring.