Huge Update. Moveable Viewport + minimap

This resolves #12 by creating a container object that holds the game
stage, and moves that around on the canvas.

This resolves #11 by adding a minimap to the game.