Make use of namespaces

Closes #6
Reworked autoloader
Class Database\Connection transformed into Factory
Added method Database\Connection::createFromDsn()
Fixed and improved the Template classes
Reworked template engine resolving
Added ability to register custom template engines