Improve spline overlap handling.

This follows up on #1485 and attempts to address #1505.

@tshinnic, @mskala, can you test and report anything that's still broken?

I couldn't understand what was happening here before, but I knew that _AddIntersection did what we needed, so I replaced the strange stuff with that.