fix overrides that were lingering after deleting AnimationComponent
Add overriding and restoring of GameStates
make EngineWindow member of GameState private and delete OverrideScene

OverrideScene depended on GameState exposing its EngineWindow, but with
the Snapshot system this is no longer needed.