Big architectural refactor.

The Engine now gets actions on a Player's turn by asking for them (through
the GameController), rather than throwing up a PriorityPass event.

The Engine should drive its own progress through the turns and phases,
rather than waiting to be acted upon by the view and controller.