Added GameBoard types and helper functions

GameBoard code is not being used yet, but it compiles.
GameBoard draw methods now render instead

The methods were renamed and repurposed to return the string
representations instead of directly writing to the screen.
Makes the signatures simpler and testing easier.
GameBoard types now in use

Created initial state for GameBoard.
GameBoard type now used for output.