Reorganise project files, component id lookup

ComponentID lookup is now moved up into ComponentRegistry, which makes
more sense; individual registries can be associated with an unique set
of components, and the ComponentInfo class is reduced to the bare
minimum.