The functionality can be used in other renderers too, the only requirement
is that legend nodes need to specify their parent rule key via data().
Note that ayer tree model must have ShowLegendAsTree flag enabled, otherwise
the model will keep showing lists instead of trees.