Cache databse type

This uses a globalTypeCache for each driver tested with QSqlDatabase::databaseType