WIP feat(oauth): Add WebChannel support

@shane-tomlinson @ckarlof feedback?

- [ ] Need to check error reporting
- [ ] Need to fix localstorage WebChannel saving
- [ ] Tests
Ignore my comment for now. Opened #1511 for deeper discussion.