WIP: Add OAuth->browser plumbing.

Sorry I don't think that will work because the browser api is called "WebChannel", this would probably be confusing. We can go with `FirefoxWebChannel`, could be the least confusing. However, what if we want to write some add-ons for Chrome or iOS and use this WebChannel to communicate?