Walking avatar tweaks

Use downward raycast against shapes in PhysicsSimulation to figure out if the avatar has a floor beneath it.  In order to get this done I had to implement some raycast stuff and add unit tests.

Also reduced the default avatar walk speed from 6 to 5m/sec.
Re-implemented CapsuleShape::findRayIntersection().  The new method will work correctly for rays that start on the inside of the capsule and intersect on their way out.  Hrm... it occurs to me only now that I didn't write unit tests for internal ray traces.