Add database configuration to TargetURLModule
Add database configuration to TargetURLModule

A useful instance of SQLAlchemy class needs model classes mapped
to corresponding database tables, but to define such classes according
to standard practice of using Flask-SQLAlchemy package, we need an
instance of SQLAlchemy class. Therefore, database object and associated
mappings must be created in specific order: first the database, and
then the mappings.

If database object needs to be provided by an Injector instance to be
an automatically injectable dependency, it needs to be configured in
the same injector module that also configures database mappings. Doing
it in separate modules would introduce necessity of configuring
the modules in proper order.

In case of this application, this means a database object must be bound
to SQLAlchemy type in the same injector module that prepares and binds
a dynamically created subclass of BaseTargetURL.

piotr-rusin/url-shortener,piotr-rusin/url-shortener