Infinite execution breakthrough

Instead of manhandling the multi ray casting function to
impose a depth limit, I wrote a monadic combinator to wrap a depth
limit around the existing multiStep function.