ENH: Handing missing data in scatter_matrix when using hue/color
#### Is your feature request related to a problem?

I would like to use scatter_matrix on a dataframe with missing entries when using the c parameter.

This works:
```python
import pandas as pd
import numpy as np
X = pd.DataFrame(np.random.normal(size=(150, 4)))
y = pd.Series(np.random.randint(0, 4, size=150))
pd.plotting.scatter_matrix(X, c=y)
```
this works:
```python
X[X > 1] = np.NaN
pd.plotting.scatter_matrix(X)
```
This breaks:
```python
X[X > 1] = np.NaN
pd.plotting.scatter_matrix(X, c=y)
```
```pythontb

ValueError: Invalid RGBA argument: 1.0

During handling of the above exception, another exception occurred:

ValueError: 'c' argument has 150 elements, which is inconsistent with 'x' and 'y' with size 103.
```
(using pandas 1.0.3)

#### Describe the solution you'd like
scatter_matrix should make sure the shapes are consistent. I haven't looked into the internals. Calling ``plt.scatter`` with missing values actually does the right thing.

#### API breaking implications

Don't think it'll break anything.

#### Describe alternatives you've considered

I could use seaborn but seaborn doesn't allow me to pass a series as 'c'. I can also use ``dabl`` ;)
