1.0 as boolean dtype cause ValueError in pd.read_csv()
When I read the following "example_csv" using pd.read_csv() without assigning dtypes, no error is raised:

```python
import io
import pandas as pd

example_csv = """
boolean_column, string_column
1.0, a
0.0, b
,c"""

csv = io.StringIO(example_csv)
df = pd.read_csv(csv)
df.info()

>>> <class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 2 columns):
 #   Column          Non-Null Count  Dtype  
---  ------          --------------  -----  
 0   boolean_column  2 non-null      float64
 1    string_column  3 non-null      object 
dtypes: float64(1), object(1)
memory usage: 176.0+ bytes
```

However, I want "boolean_column" to have a nullable boolean dtype instead of float64. Therefore, I assign a dtype when reading the data which casues an error.

```python
csv = io.StringIO(example_csv)
df = pd.read_csv(csv, dtype={"boolean_column": "boolean"})

>>> ValueError: 1.0 cannot be cast to bool
```
Is this intended?

I am using Windows 10, Python 3.7.6 and pandas 1.0.4