Steps to reproduce the problem:
1. When using the demo application - https://mozilla.github.io/pdf.js/web/viewer.html, load  the document 5311693-1.pdf

[5311693-1.pdf](https://github.com/mozilla/pdf.js/files/5137225/5311693-1.pdf)

2. go to Page 16 of the document.

3.  The strip of  EKG data  appears to have an incorrect line width   under the  Multi-color heat rate chart.

4.  When the same document is generated by pdffactory ,  the artifact are not visible.

What is the expected behavior? (add screenshot)
![expected](https://user-images.githubusercontent.com/3577617/91461157-4622cb80-e84e-11ea-8e5d-750c7b4e64ae.PNG)

What went wrong? (add screenshot)
The EKG line strip  has an incorrect thickness.  the x-transform seems to stretch the line thickness.  See the  stri in the RED rectagngle of the attached behavior versus the GREEN rectangle

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
 https://mozilla.github.io/pdf.js/web/viewer.html
const length = bytes.length;
    for (let i = 3; i < length; i += 4) {
      const alpha = bytes[i];
      if (alpha === 0) {
        bytes[i - 3] = r0;
        bytes[i - 2] = g0;
        bytes[i - 1] = b0;
      } else if (alpha < 255) {
        const alpha_ = 255 - alpha;
        bytes[i - 3] = (bytes[i - 3] * alpha + r0 * alpha_) >> 8;
        bytes[i - 2] = (bytes[i - 2] * alpha + g0 * alpha_) >> 8;
        bytes[i - 1] = (bytes[i - 1] * alpha + b0 * alpha_) >> 8;
      }
    }
  }
  function composeSMaskAlpha(maskData, layerData, transferMap) {
    const length = maskData.length;
    const scale = 1 / 255;
    for (let i = 3; i < length; i += 4) {
      const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
      layerData[i] = (layerData[i] * alpha * scale) | 0;
    }
  }
  function composeSMaskLuminosity(maskData, layerData, transferMap) {