Fixed display of graphs and game state on game log pages. Closes #28.

Root of the problem was two-fold, and mostly around the structure of
the JavaScript object representation of the game.

First, the game states were being rendered in game.py with some
abbreviated keys (from keys.py) that the game_viewer wasn't
expecting. This looks like it was introduced with the move to shorter
parsed-game object keys in commit ccf8a0bb0232f.

In addition, within the game_viewer, the game object was using the
un-shortened property names (e.g., 'player' when it now needs to use
'P') in several places, which were no longer present.

Finally, the switch to having parsed games use actual objects, which
render down to card reprs when converted to primitive types
('Card(Copper)' instead of 'Copper') was causing some additional
problems with being able to look up card details from
static/card_info.js (which uses the Singular version of card
names). These problems were also fixed, and the format of the game
state panel was tweaked a little.
Merge branch 'issue_28'