50% Restructured

Planned, and half implemented the overhaul.

Every entity is now defined by the way it is  constructed in the
subclass constructor. EntityFormat declares Entity-specific
functionality, which is enforced in the code using
ModuleMisuseExceptions to prevent client misuse, and boolean checks to
allow or disallow access to undeclared functionalities.

Non-animated Entites now save their clips to a texture *once*, with no
need to clip the spritesheets every time during rendering. Animated
Entities use AnimationIterators and AnimationModules to refactor and
encapsulate animation-specific code.

Door has been moved to its own Header and .cpp, due to its increasing
independence from GridTiles. As Entity has become redefined, GridTiles
are no longer bulked together as "Entities in the environment".

Converted Classes:
Entity
Player
Door
Traveller

Functional Modules:
Animation
Updating
Travelling
Interaction
Tangible