text: Title: Ability to register adapter in-process
  Body: Add an ability to register a new adapter in-process, along the lines of how [sqlalchemy allows registering new dialect in-process](https://docs.sqlalchemy.org/en/14/core/connections.html#registering-dialects-in-process). Currently it looks like the only way to add an adapter to shillelagh is [through an entrypoint](https://github.com/betodealmeida/shillelagh/blob/6082939fd08145164edf9ac5c53c4dfc034eb070/src/shillelagh/backends/apsw/db.py#L506).