Hacked-up CSG implementation

I think that's as far as I'll take it.
If I decide to come back, intersect should be reworked to return
all intersection points (> 0) for benefit of nested CSG.
Also find some way to deal with the final color.