Modernize WebRTC with promises compatibly with hybrid.

Let me know if I missed anything. Leaving polish of legacy note to others.
That seems like a pure editor question, so I'll leave that you guys to decide.