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
Weird that the order is flipped if you do

`ax.scatter([0, 0], [1, 1], c=[0, 1])` vs `ax.scatter([0, 0], [1, 1], c=[[0, 0, 0, 1], [1, 1, 1, 1]])`