Add hover interactivity to Plot.Line and Plot.Area.

Users can use `Interaction.Hover` with `Plot.Line` and `Plot.Area`. The `onHoverOver` callback will be passed the closest point to the cursor by X (Y breaks ties) within 15 pixels.

Close #848.
Whatever decision you wind up with in the end, you should definitely make it more clear that before/after will be undefined when the index is out of bounds

You could do something like
if (index is not less than 1 (or if index is 0)) then process before
if (index is not greater or equal to length (or if index is length)) then process after

You could roll the before/after into its own function if you wish