Rename GridFullError to more descriptive SpawnTileError
Also use the escape key to quit
Move possible_moves logic to a property of Grid
Do not ignore apply keyword for overidding methods
Add save/resume feature

Adds commandline option '-r'/'--resume' which takes an optional
SAVE_FILE argument.
Writes save state on any game exit, even on game over.
Uses $XDG_DATA_HOME and it's fallback as default directory to store the
game data dir.
Because JSON is part of python's stdlib, use it over YAML as storage
format.

Closes issue #2.