FlxMouse refactor

- changed visible from a property (get, null) to (default, set) to replace show() and hide() (nice side effect: this enables easy toggling via visible = !visible;)
- made "middle-and-right-mouse-buttons-activated" the default by changing the FLX_MOUSE_ADVANCED conditional to FLX_NO_MOUSE_ADVANCED
- show() has basically been a duplicate of load() in the past, that should be used now instead
- removed the useMouse logic from FlxState / FlxSubState / FlxGame, it seems like unnecessary clutter
- marked a couple of fields as @:noCompletion (mostly methods from IFlxInput and for recording)
- restructured the class outline to be more consistent (first public, then private fields etc)
- _matrix now has an underscore
- removed the arbitrary restriction of screenX and Y being Integers instead of Floats
- less redundancy (updateCursor() now uses getScreenPosition() / getWorldPositon())
FlxMouse: Some small fixes, made new() / record() / playback() private
FlxMouse compile fix, oops
Merge branch 'dev' of https://github.com/HaxeFlixel/flixel into FlxMouse
Fix state switch mouse visibility, revert screenX and Y to Ints, compile fix for _matrix in destroy()
Non-hacky fix for initial mouse visibility
Merge pull request #794 from Gama11/FlxMouse

FlxMouse refactor