lots of initial design for the game, and unit data
Move the board code out to ui as it's only for board visualisation