TicTacToe Notes
---------------
Version 0 of TicTacToe
- Introduce TicTacToe to model the game and GameDriver to play the game
- Initially there is no logic -- we just instantiate a game and print it
---
Version 1 -- model game state
- Add TestTicTacToe.testState to exercise game state
- Add TicTacToe getters and setters for game state (use chess notation)
- Add preconditions for getters and setters
- Add TicTacToe.toString to visualize game state
---
Version 2 -- add game logic
- Add test scenarios to TestTicTacToe -- check winner and squares left
- Add Player class; constructor for scripted moves
- Add TicTacToe methods to move, and test for winning
- Expand GameDriver to instantiate Player and trigger moves
