Pause/Play Gamestates

This push adds the pause and play functions as unique gamestates. It
updates the demo with a pauser object that pauses and unpauses on a timer.