Merge legends

Extending only HorizontalLegend to cover Legend functionality.

Orignal PR #1415.
Not really seeing too much point in this line