[Idea] Use Component instead of std::unique_ptr for members

Pros: 
* less typing Component only has 9 letters, std::unique_ptr has 11
* More semantics. std::unique_ptr could be anything, a component is a compositional element of a class
* Less typing in initializier lists, no new ClassName(arg1, arg2), just arg1, arg2
* No typing at all in initializer list, not even member name, if the class takes no args.

Negs:
* *this references in initializer lists need to be passed like std::ref(*this) instead of *this.

Please tell me what you think about this asap and I will implement it everywhere and extend the Component class with const getters and stuff.