Add Hover ability to Plot.Scatter.

Currently uses a modified "Closest Point" algorithm:
   - If the cursor is over any circles, returns the closest of those circles.
   - Otherwise, returns the closest circle within some upper bound.

Progress on #848.
can we collapse this into a single return with ternaries? i find it easier to read