Add FireFox support by reusing one camera stream instead of using videoInput.src, waiting for video to have a width and height before calling success callback, and preventing the canvas from being scaled down too small