Implementing ComponentTypeManager and eliminating static type IDs for components
Removing static vector of arrays in favour of type mapped vector instances (and this introduced a massive memory leak, but I'll fix later)