Camera movement.

It's now kept within the game borders.  Selected tile is now an
attribute of the map class.  Selecting a tile while not zoomed in will
mean you will zoom in to that tile.  You will always return to the last
position you were at zoomed in when you zoom in, unless you select a new
tile while zoomed out.

Left click to select a tile.
Space to zoom in or out.
Click and drag right mouse while zoomed in to move around.

The camera's limits are correct (the current displayed map is smaller
than actual levels will be).