Modernize WebRTC with promises compatibly with hybrid.

Let me know if I missed anything. Leaving polish of legacy note to others.
Are we expecting the single item list to grow in the near future? I think we should include the action directly in the text and create a list later if needed. The "fulfillment" and "rejection" steps should perhaps not be included in the numbered list since those are actions that happen async.