mostly re-implement grid panning

all that needs to be done is to check for the mouse position after
panning
re-implement grid pan boundaries