raycasts against Shapes

I needed raycasts against Shapes for other stuff so I decided to get them done as a separate PR.
Cool! I agree. I will hold off on merging this until you update it.