Add in HorizontalLegend.

Lists entries side-by-side in the available width, after which the
entries wrap onto the next row. If an entry is too wide it is
truncated. If there are too many entries some rows will not be shown.

Close #755.
Might want to consider moving the addition to a function just in case we need to change this calculation due to more variables or etc.

Also remove the parentheses.