Implement game engine, naughts and crosses with random player

Implemented game engine stubs. It can create a game, step through it, or run to
completion. Modified some interfaces and documentation.

Finished implementing naughts and crosses. Created player that moves at random.