GameComponents.Add() and Initializing GameComponents

Solve https://github.com/mono/MonoGame/issues/2105
Related to
https://github.com/mono/MonoGame/commit/c1544bce033f1d0432bb3ef360aef1707af15976

This is closer to XNA behavior.
-Initialization of Components is postponed until the call to
base.Initialize(...).
-Components added inside the virtual Initialize(...) but after the call
to base.Initialize(...) need to be self initialized.
-Components added later are auto-initialized.