Modernize WebRTC with promises compatibly with hybrid.

Let me know if I missed anything. Leaving polish of legacy note to others.
This is following the promise-guide. See http://www.w3.org/2001/tag/doc/promises-guide#shorthand-reacting

Though I a bug. I should do s/step/step asynchronously.

Or s/step/step in parallel/. See https://github.com/w3ctag/promises-guide/issues/31