using ViewPort rather than rolling our own and added a mouse event to select whichever hex is under the mouse
fixed merge