Reinstated entity test
Only switch game state at the beginning of a frame

Immediately activating a game state during setCurrentGameState
can potentially cause problems as the systems are only partially
updated during the current frame.
Make EntityFilter handle additions / removals in the same frame

If an entity is added to a filter and then removed during the
exact same frame (and before clearChanges() has been called on
the filter), remove that entity from the addedEntities collection
and *don't* add it to removedEntities. For an observer of the
filter, it's as if the entity never existed, after all.
Remove debug output
Safeguard some systems against loading, then switching game state

For RigidBodySystem, OgreCameraSystem and OgreLightSystem, there
is a situation where a new game is started, a savegame is loaded
and then the gamestate is switched. The systems try to remove
internal data structures because due to the game loading, some
entities were removed. Those entities were never initialized with
internal data, however, which can lead to crashes when trying
to remove that data.

The simple solution is to skip the removal for non-initialized
internal data.
Clear entity changes after restoring all entities

TextOverlaySystem and OgreViewportSystem reinitialize all their
entities on activation. Not only is it efficient to clear their
filters' changes after that, it also prevents a crash related to
loading a savegame.

The crash occurs when a savegame is loaded that contains
matching entities with the same id as the current game. In the
systems' activate functions, the newly loaded entities' internal
state is restored. However, the entity filter still has those
ids in its "removed" set as they were also present in the old game
world and have been replaced. Thus, the internal state of the
entities is cleared during update(). Unfortunately, this doesn't
clear the component's pointer to the internal state, which makes
it difficult to detect that situation and deal with it accordingly.

The easiest solution is the one implemented. Resetting the
entity filter will prevent the unwanted clearing of internal
state.