core: Better declare/init all object members in __init__
core: Make Game require an external grid, instead of creating its own
utils: Decouple Game and Grid objects
session: Add a Game object wrapper Session

It enables one to reset a game to the initial state.
test: Switch to Session from a bare Game
core: Add a new game status STATUS_NEW

The status a game object has before start() has been invoked.
utils: Make possible to dump a non-started game