BUGFIX:  This change fixes #2475, where contour labels added manually

produce ugly spikes in the contours.  The problem was that screen
coordinates were being passed as data coordinates when the contour was
split to add room for the label.

Incorporate @bwkeller fix and @miili's #2806 change

See long comment on #2818 for why this is the correct fix.
I think the assumption is that the points in the path are in data space as iirc everything returned by `find_nearest_contour` is working in screen space.  The bug was in the case were you wanted to specify the location of the label in screen-units, but when the location never got converted back to data-space units when adding a point to the path which is what generated the huge spikes.

I think the issue you are bring up is if points in the path are not specified in data units so instead of `self.ax.transData.inverted()` in should be `paths[segmin].get_transform().inverted()`?  Presumably that transform should be passed back in on line 585/582 when the new path is created.