Create engine, protocols. Start naughts & crosses

Create engine, the core driver of the game loop. Create protocols for game
objects and rules. Start implementing toy game, naughts and crosses. State
and successor implementation works.