Proxy PDO object and add support for injecting an existing PDO connection

The only obvious thing I see this breaking is that ExtendedPDO->getDsn() will return null on existing. I shifted the tests around so that it would be easy to run them all on a newly constructed ExtendedPDO object, as well as one that has been injected into.