game object component system kick off
Component interface add clone. GameObject copy ctr & operator= use Component::clone to create a copy of specific components.
start add Renderer component
Merge remote-tracking branch 'origin/fea_comp_obj' into fea_comp_obj
GameObject and components: Transform, IRenderer, MeshRenderer
game object
components
add math/Vector3
add Matrix4
transform
quaternion
transform with quaternion