Collision with obstacles

Both left/right and bottom (floor or top of obstacles)

Rewritten the logics behind the gravity force vs jump