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.
`not-hovered` refers to elements that are not currently being hovered over while the user is hovering over another component. In this case, the `not-hovered` class produces the visual effect of fading the bars.