Refactor world manager
- World::updatePlayer() can be moved to MWWorld::Player() class
- Door-related function can be splitted to the separate DoorsManager, along with findInteriorPosition()'s content.
- GetContainersOwnedByVisitor, AddDetectedReferenceVisitor, ResetActorsVisitor, GameContentLoader, FindContainerVisitor, GetDoorMarkerVisitor can be moved to separate files, with functions such as getItemsOwnedBy().
- Spellcasting-related functions can be moved to separate class.
- Some functions do not belong to the world manager (such as getNorthVector(), positionToIndex(), indexToPosition(), feetToGameUnits()).
- There is some duplicated functionality between WorldManager and MechanicsManager (for example, both have the
Maybe it is worth to split physics and rendering subsystems to the separate singletons to simplify world API.