Starting to rip out coords.
Adding individual rooms.

Board is being updated so it's no longer just a collection of coords
objects, but a collection of room objects (represented by a Room record
type) that each carry x and y coordinates, as well as width and height.
This change also adds RoomRenderer records that control the logic for
rendering the new room objects.

The current logic is a mish-mash of hacks to support the old grid-based
representation of the game and proper updates to handle the width and
height of the rooms, though all rooms are assumed to have uniform size.