WIP: Add OAuth->browser plumbing.

Maybe rename this to URLChannel?