Added Interaction.Hover.

Interaction.Hover acts on any Component that has implemented the
Hoverable interface, which allows the Interaction.Hover to query
the Hoverable for data given a cursor position.

Added a hoverMode() call to AbstractBarPlot, which will allow
Interaction.Hover to replace the Interaction.BarHover.
I'm not 100% happy with this as it's really confusing to me, but I can see the reasoning.  Up to you (since this is d3 standard behavior) but if you can either make this idea more explicit, it'd be appreciated.