Replaced RayVsSphere collision code with cleaner method from http://www.cs.unc.edu/~rademach/xroads-RT/RTarticle.html