Adjusting board coordinates for shorter rows.

Previously set column coordinates based on index within a given row.
Doing so would have required offsets for determining adjacency to spaces
in longer rows, so this change essentially overlays the board onto a
cartesian coordinate system. This means that shorter rows (0, 1, 5, and
6) have column values of 2, 3, and 4 instead of 0, 1, and 2.
Fleshing out basic data structures and starting main game loop.

Finishing the GameEnv data structure definition and creating routines to
set up the game, serving as a template for writing the rest of the turn
logic as a state machine based on the "state" field of the GameEnv
record.