Added Object Archetypes (Collisions freeze game)

Added ability to create object archetypes, not just component
archetypes. Also added collision detection, but since there's no
resolution to the collision detection, a collision will freeze the game.
Given that the current implementation, even with resolution, could
potentially create an infinite loop, it would probably be best to use a
different solution.
Refactored Initialization code (Collisions freeze)

Consolidated some initialization code into
Component::CommonComponentInitialization
Converted math lib to use references not pointers
Bounce on collision (no longer freezes)

Calculates the reflection of two animated circles and bounces the lesser
weighted circle.