MySQLi support
As MySQL legacy extension is now deprecated, this change adds support
for MySQLi extension.
A slight refactoring of the db initialization occurs:
- The $db object is created calling Database::laod(), which reads the configuration to return an object of the correct relevant class.
- New SQL classes could be created, named Database<Engine>
Configuration now uses:
- the main key "database" instead of "sql"
- the subkey "engine" instead of "product" to specify the type of the SQL database to use
This modular system follows the structure of the cache. To maximize,
coherence, any replaceable module could use a similar pattern.