Add CollisionManagers

Add CollisionManagers that can be custom defined to handle complex
collisions between Collidable GameObjects. Also tweaked other classes to
accomodate the new class change.