This is a fair point.
The first problem I can see with injecting Mongo/MongoClient in is that it would not quite work well with StorageFactory::factory without modification - but it can be done I think.

On the same trail of thought, I'm also considering adding https://github.com/mongofill/mongofill as a recommends in composer.json, as this is a pure php implementation that should supposedly work as a drop in replacement for the Mongo extension where the Mongo extension isn't/cannot be installed. If its also added as a require-dev, it allows us to test this code on Travis again (its not currently tested because it completely halts the test run under hhvm - even if hhvm isn't fully supported yet completely breaking it is not something I want to do).

So, I'll take a look at adding some kind of factory for Mongo that will provide an instance of Mongo or MongoClient depending on whats available, and update both this and the SessionHandler to use that. Sound good?