Checkpoint, since I think I've found a good way to do it.

Right floats still don't work, though.
Refactor ExclusionShapeInfo to remove copying.
Fix use of coordinates!