Because
- OTF reprojection is mature and stable
- Should be no cost when not required - transforms are shortcut
when not required
- Reduces code complexity
- Canvas OTF support was being incorrectly used as a flag for
whether measurements should be made in ellipsoidal mode. Instead
the project's ellipsoid setting should be checked for this.
- Should simplify behavior for new users
Instead make the layer tree canvas bridge advise on layer set
changes, and tie this into composer. So now composer acts
as a go-between to sync the composer map item's layer set to
the layer tree/canvas layers.
It's not an ideal solution, but avoids the hard link between
compositions and the map canvas.
Rationale:
- there was a lot of large objects passed by value, so potentially
there's a speed bump from this
- even for implicitly shared classes like QString/QList there's still
a (small) cost for copying the objects when there's no reason to
- it's the right thing to do!
* respect the 'auto enable otf' setting
* don't ask if otf is off or for layers without geometry
* ask when otf was switched on
* show more information in selection dialog