BUG: allow numpy.array as c values to scatterplot

Ensure that we can pass an np.array as 'c' straight through to
matplotlib, this functionality was accidentally removed previously.

Add tests.

Closes #8852
I was thinking that originally, I felt uncomfortable because of the surprising implementation.

Would `is_safely_hashable` be good maybe?

Thanks!