Optimizations for immobile rigid bodies

- Distinct classes. Immobile bodies do not store velocity data anymore.
- A pair of colliding immobile bodies will not be considered as
colliding anymore, as this only adds computation time for no reason
(there are no results to the collision).
- It is no longer possible to add collision bodies to a collision
world. This didn't work before anyways.
- Body, CollisionBody and RigidBody are now all abstract. Only
MobileRigidBody and ImmobileRigidBody can be initialized now.
Signed-off-by: Aleksi Sapon <QcTechs@gmail.com>