WIP feat(oauth): Add WebChannel support

@shane-tomlinson @ckarlof feedback?

- [ ] Need to check error reporting
- [ ] Need to fix localstorage WebChannel saving
- [ ] Tests
This is an abstraction violation that the generic web channel is processing Oauth specific messages.