Column creation should be more abstract in order to allow backends to define themselves how to create special columns
The column creation process use the add_raw_column methods from the backend which works great for default SQL types but fails for example in the case of geographic types because the latter needs to call the 'AddGeometryColumn' function.
I think that we could gain some flexibility in the column creation process if instead of passing to add_raw_column all the types, string, etc we were using only the field.