Modernize API with Promises backwards compatibly.

Legacy navigator.getUserMedia takes callbacks.

http://htmlpreview.github.io/?https://raw.githubusercontent.com/jan-ivar/mediacapture-main/compromises/getusermedia.html