In iOS 11 Apple has included a native implementation of getUserMedia. We should detect that the OS already has an implementation and use it instead of our implementation.
We should be able to use something like:
cordova.require('cordova/modulemapper').getOriginalSymbol(window, 'navigator.mediaDevices');
to detect if navigator.mediaDevices existed before we clobber it with our implementation.
Once we have a working implementation on iOS 11 we should test ImageCapture and MediaRecorder.