Improved detection of floor surfaces

A default behavior of the avatar is to detect when there is a floor underneath its feet and to turn on gravity when this is the case.  When the avatar flies too high above the floor, or walks off a ledge then gravity will be disabled.

There was a bug where gravity would NOT be disabled for the case where the avatar walks off a ledge and there is no voxel underneath at all (rather than one that was just too far away).  Now fixed.

Also, the avatar motion braking behavior was inconsistent, sometimes interfering with acceleration of gravity (very slow descent) and sometimes not.  Now fixed.