WIP: Add OAuth->browser plumbing.

probably should be called `WebChannel`