supports ducking (treadmilling fixed!)

~~...try to make sure this merges with new floors correctly~~

this replaces #674

Brief explanation:

This is a ducking pull request where a player now has a top bounding box (top_bb) and a bottom bounding box(bottom_bb). When the player ducks the top bounding box becomes a ghost and becomes solid again once ducking ends.