Game replays

This is a modified version of @jhoff's position_tracking branch. Close #1876 

The only thing that's really different is that replays are stored as individual files in the `replays` folder (they're still JSON) and that we don't use the Timer class.