Modernize WebRTC with promises compatibly with hybrid.

Let me know if I missed anything. Leaving polish of legacy note to others.
Let's do what other Promise-based APIs do. Then question is then what that is. :)