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.
I'm trying to see the need for this Infinity else case.

Can this be coded to be something like

if (getDistSq(before/after, relevant index)) then set relevant info?

Should save about 4 or a bit more lines than the current implementation