heavy reorganization
- `source` and `expression` modules merged into `sql`
- `helpers` module dropped
- - `helpers.merge_sql` function moved to `sql.merge_sql`
- - new class `sql.SQLIterator`: wrapper for an iterable, yields values wrapped in `SQL` instances if necessary
- - `helpers.to_sql(value, ...)` is now replaced with `sql.SQL.wrap(value)._as_sql(...)`
- - `helpers.to_sql_iter(iterable, ...)` is now replaced with `sql.SQLIterator(iterable)._as_sql(...)`
- replaced `NameFactory` class with a generic `NameFactory` function, returning a synthetic class
- table factory is no longer a plain identifier factory, but returns actual `Table` instances
- identifier factory no longer callable — `F(value)` is now replaced with `sql.SQL.wrap(value, id=bool)`, which returns either a `Value` or an `Identifier` instance
- dropped `__slots__` from everywhere for now