ENH: Allow support for dtype datetime64[ms] or other units or numpy.datetime64 cols.
#### Is your feature request related to a problem?

I would like to be able to use Pandas datetime datatype column for datetimes beyond the bounds for `ns` units (which are  `1677-09-21 00:12:43.145225` and `2262-04-11 23:47:16.854775807`).

As will often be dealing with dates above and below these thresholds. Apologies if already open on another issue but couldn't quite find this. Not sure if tied in with [this issue](https://github.com/pydata/xarray/issues/789)

#### Describe the solution you'd like

```python
df = pd.DataFrame({"col": ["2020-01-01", "2999-01-01", "1990-01-01", None]})
```

One of the following:

```python
import pandas as pd

df = pd.DataFrame({"col": ["2020-01-01", "2999-01-01", "1990-01-01", None]})
df.col = pd.to_datetime(df.col, base_unit="ms")
df.col.dtype # datetime64[ms]
```

or 

```python
import pandas as pd
import numpy as np

df = pd.DataFrame()
df["col"] = np.array(["2020-01-01", "2999-01-01", "1990-01-01", None], dtype='datetime64[ms]')
df.col.dtype # datetime64[ms]
```

#### API breaking implications

Not sure, I assume this might be a big ask depending on how the column casting internals work.

#### Describe alternatives you've considered

At the moment the only workaround is having an object column with datetimes. However I believe this stops you from using the `.dt` method on the column which is really handy.

```
