implemented collision response which adds proper sliding if colliding and other misbehaviour if correcting movement due to collision