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
Can you check that the colors are correct? Get back the result from plot with `ax = df.plot(kind='scatter', x='A', y='B', c=c)` and get the `collections` attribute, and check `ax.collections[0].get_facecolor()` against the expected `array([[ 1.,  1.,  1.,  1.],
       [ 0.,  0.,  0.,  1.]])
`