Shadow generation, take 3 (still not working).
Improves shadow generation.

The remaining issues involve tweaking co-linear collision (which causes
shadow geometry problems), and handling infinite slopes better.