Implemented Collision Detection

Collision detected as two classes:
Collision: has pointers to objects that collide. Used in collision
resolution.
CollisionManager: Looks for collisions, creates collision objects and
resolves collisions using collision objects.

Note: Collisions are defined as when some vertices of one GameObject has
penetrated the triangles making up another. The vertices are averaged
and the result is backward interpolated in time  to determine which
triangle edge was penetrated and thus how to resolve the collision by
applying force impulses to the involved objects.