[expression] implement a wordwrap function (feature request #9412)
[expression] more work on wordwrap function based on wonder-dk comments
[expression] add wordwrap function help file
[expression] rework the wordwrap to allow for maximum / minimum line length to wrap, fix test and add two more
[expression] made wordwrap delimiter string an optional 3rd argument
[expression] fix function help following argument ordering shift
[expression] check for maximum nb of arguments in wordwrap function
Fix #8898 (optional filter extent for vector save as)
Use QgsExtentGroupBox also in raster Save as dialog
Merged "save as" and "save selection as" actions - choice moved to the dialog
More fixes to support embedded groups
Fix #9698 (magnified SVG symbols with data-defined rotation)
Merge pull request #1208 from nirvn/expression_wordwrap3

[expression] implement a wordwrap function (fix #9412)
WMS Server: show native type in GetProjectSettings
[FEATURE]: Expressions in GetFeatureInfo output
add GUI_EXPORT and sip bindings to QgsExtentGroupBox,
fix sip binding of QgsRasterLayerSaveAsDialog
PEP8 cleanups for some unit test modules
Add some functions to Python unit test utilities
Update label tests to ensure setup happens only once and load/delete only layer to test
Refactor composer label test to work with svg, pdf and multi-resolution classes

- Initial (untested) svg and pdf render-to-image setup