Don't always centre the 'player'.

Allow it to move to within VISIBILITY of the edge.
Still block-wise scrolling.