zoom to mouse

the zoom now takes the mouse as zoom point. or the center of the view if
the mouse isn't on the game view port. zoom needs some clipping to
prevent zooming outside the view.