Draw SVG symbol from cached QImage unless it exceeds half of cache size, then use QPicture

- Fix #6855, SVG markers/fills larger than half cache (559^2 X 32 + SVG) are drawn with QPicture
- Fix #6861, make QPicture SVG symbols scale with Composer page zoom
- Fix #6861, make SVG symbol output to print/image more accurate by setting 'size' to double
- Update/add support for non-squared SVG via QImage and QPicture, on screen and in output to print/image
- Non-squared SVG QImage/QPicture can now be used in pattern fill, without excess space
Saver double comparison, minor code cleanup (deleting a 0 pointer is always save)
Merge branch 'master' of github.com:qgis/Quantum-GIS