Add HorizontalBarRenderer.

Due to some shared code, BarRenderer and HorizontalBarRenderer both
descend from AbstractBarRenderer, which handles setting baseline values
and selecting/deselecting bars.

Note that due to the way Y-axes/scales currently work, the last value
in the domain of the OrdinalScale will occur at the top of the chart
with a HorizontalbarRenderer.

Also added tests for selecting/deselecting bars.

Close #260.