Improve getUserMedia error handling