Refactored  and added more Utility functions to classes

GameObjects now have default/common components that can be easily
accessed without using a type conversion.

GameSystem automatically calls GameObjectAdded for all objects already
in a scene when initializing