MapUnit scale fix

Corrected MapUnit behaviour accross projections: The sizes set with the
option 'MapUnit' now adapt to the canvas projections according to the
'native' unit setting implied by the layer (in units of the layer CRS)
and the unit of the rendering canvas CRS (which can be different when
on-the-fly CRS transform are used). For instance, a line width set to 1
(degree) in a QGS84 layer will automatically translate to 60*1852m (60
nautical miles equivalent of one degree of latitude) when displayed on
a polar stereo canvas. This becomes quite handy to always render
identically regardless of the canvas projection.

could you please review and merge into the master?