ENH: Ability to coerce floats when reading csv files GH2570
- [x] closes #2570
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit) for how to run them
- [x] whatsnew entry

Ran the `io.csv.Read*` benchmarks which resulted in `BENCHMARKS NOT SIGNIFICANTLY CHANGED.`

I believe that `Dict[Hashable, Tuple[Dtype, str]]` should be added to `DtypeArg` to fix the failing typing check. However, that results in 20 additional errors in io\sql.py and io\parsers\base_parser.py with the additional tuple type. Perhaps there should be a distinction and an additional `CSVDtypeArg`. Looking for advice on how best to approach fixing this.