Refactor gravity kill tracker, fix players who jump a lot being tracked as falling

* Move logic into SimpleGravityKillTracker, so other classes don't need to mess with its internal state
* Cancel a fall if the player touches the ground more than once (should fix the jumping issue)
* Rename some stuff
* Remove some unnecessary methods and fields
* Add comments