Added ComponentBase, each new component needs to override this class instead.
Added IComponentCollection, which handles as a IComponent collection.
Added IComponentHolder, that represent an object that contains components.
Added ISystem, ISystemController, encapsulate the logic and representation
of 1 or more IComponents packed into a ComponentGroup.
Added SystemBase, each new system needs to override this class instead.

Signed-off-by: Wolftein <agustin.l.alvarez@hotmail.com>