Fix unit labels turning white after first defend.
Hold less state in the game state object.

Drawable entities should have been owned by the Battlefield view all
along.  Also, we will want GameState to be as small as possible for AI
purposes.
Moved more state out of GameState.

To date, no one but the main battle code has needed direct access to unit
types.  See if we can keep it that way.
Made pathfinder more generic.
One less global variable.
Faster lookup for the unit at a given hex.

Moving units now controlled by the game state.
Simpler variable names.
Allow hex grid to be irregular shape.

This will let us split the hex grid from Battlefield so the GameState
can share it.