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.
Yes, that is exactly what my concern is. The transforms framework can have a lot of redundant parts, which can mask incorrect usage. We shouldn't assume that we know the transform of the path object, that is known only by the path object itself, so we should use it here.

Admittedly, my brain does mini-explosions reading through some of these code parts because I easily lose track of the coder's intent and expectation.