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?

_AddIntersection splits the curve if necessary. I don't know why we were doing this twice.