furthered mouse controller to handle moving mouse, scrolling mouse, and ...

...zooming with scroll im smooth mannor, and added testing to verify functionality.
Is this something that should be configurable? This should be fine for now though.