fix(doctrine): QueryGenerator accept Connection interface

and make acceptsField() more robust
feat(doctrine): add DBAL WhereBuilder, Factory & CacheWhereBuilder