Configuration:
- Web browser and its version: any
- Operating system and its version: any
- PDF.js version: 1.9.426

Steps to reproduce the problem:
 
Scenario 1 - network error on range-requests:
1. Load a mid size PDF (20MB) with range requests enabled (e.g. AWS S3 bucket - CORS configuation - ExposeHeader Accept-Ranges, ...)
2. While pdf.js is rendering pages, rename the source PDF

Scenario 2 - ERR_CACHE_OPERATION_NOT_SUPPORTED on Chrome > 61:
1. Load a mid size (20MB) PDF with range requests enabled (e.g. AWS S3 bucket - CORS configuation - ExposeHeader Accept-Ranges, ...) and no Cache-Control metadata

(Some pages won't be rendered because randomly some XHR range-request fail with status net:ERR_CACHE_OPERATION_NOT_SUPPORTED, detailed issue [here](https://github.com/mozilla/pdf.js/issues/9022) )

What is the expected behavior? 
Page render promise: the failure callback should be called on range request network errors, or an exception raised: 

```
page.render(context).promise.then(
    successCallback, 
    failureCallback
).catch(
    errorCallback
); 
```
Any of failureCallback or errorCallback should be called.

What went wrong? 

A rapid troubleshooting (on scenario 1) showed that the `onError` listener is not handled/binded  for `PDFDataTransportStreamRangeReader`

![missing-onerror-listener-on-range-requests](https://user-images.githubusercontent.com/7221909/42463262-e862680c-83a5-11e8-988e-0ffcf9b1a69e.png)

const ok_response_on_range_request =
      xhrStatus === OK_RESPONSE &&
      pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;
    if (
      !ok_response_on_range_request &&
      xhrStatus !== pendingRequest.expectedStatus
    ) {
      if (pendingRequest.onError) {
        pendingRequest.onError(xhr.status);
      }
      return;
    }
    const chunk = getArrayBuffer(xhr);
    if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
      const rangeHeader = xhr.getResponseHeader("Content-Range");
      const matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
      pendingRequest.onDone({
        begin: parseInt(matches[1], 10),
        chunk,
      });
    } else if (chunk) {
      pendingRequest.onDone({
        begin: 0,
        chunk,
      });
    } else if (pendingRequest.onError) {
      pendingRequest.onError(xhr.status);
    }
  }
  getRequestXhr(xhrId) {