CollisionV2

Collision code completely reorganized.
Wall sticking is still a work in progress.
Before wall sticking can be properly implemented some refactoring of the
player class needs to be done, which will take time.