creation of a convertToRuleBasedRenderer() function
add sip
use previous renderer if possible, instead of last applied renderer
Add factory annotation and use clone for rule based renderer
refactor to a more general convertFromRenderer function
update
Merge pull request #1556 from leyan/convertToRuleBasedSymbology

[FEATURE] Keep renderer settings when changing renderer type (where it is possible)