Remove ComponentData type
Components will now be returned by entities and iterators, with two different use cases. Their identities will be clearly documented.
The new Component proxy implementations will follow the ComponentData logic of accessing the Property from the component data store and getting or setting values depending on the access function. In order to be lightweight the new Component impls should always only use an index and data store and that is it.