compose: Fix SVG scaling with librsvg 2.52
compose: Fix SVG scaling with librsvg 2.52

We should only scale the canvas in the legacy path, since the viewport
already takes care of scaling.

Also, while we're here:

- We should `cairo_save` before scaling, so that on error the
  `cairo_restore` doesn't leave the canvas in the scaled state.
- The SVG size is only used in the legacy path.
- We don't inspect the error so no need to have `tmp_error`.

Fixes: https://github.com/ximion/appstream/issues/375

ximion/appstream,ximion/appstream,ximion/appstream,ximion/appstream