Refactored dependencies on ComponentType and ComponentTypeManager

Static ComponentTypeManager is now referenced only by ComponentType: all
other internals use ComponentType static methods