ENH: dtype costumization on to_sql (GH8778)

This is the proposed general gist of the changes. My ad-hoc testing suggests that this might work. If this is an acceptible design, I will proceed to make the formal test and change the docs (including docstrings)

Closes #8778
I think it is a bit 'cleaner' to use `isinstance` here, something like:
```
isinstance(table.columns['A'].type, sqlalchemy.types.BOOLEAN)
```

And you can access the column with the name without making a list of it