Refactored map management to a Map class.

Did not factor selection-related functionality into Map, though, because
it's ambiguous if that is actually a responsibility of the map, or of
the game overlaying stuff on the map to suit its needs by getting input
from the player.