Link to PDF file (or attach file here):
[pages4.pdf](https://github.com/mozilla/pdf.js/files/1128300/pages4.pdf)

Configuration:
- Web browser and its version: Firefox 54
- Operating system and its version: Win 10
- PDF.js version: 1.8.522
- Is an extension: no

What is the expected behavior? (add screenshot)
![chrome1-1 1](https://user-images.githubusercontent.com/146436/27918380-2f74512a-6245-11e7-8525-d0038fa6c2e8.jpg)
![chrome1-2 1](https://user-images.githubusercontent.com/146436/27918425-54f8e47e-6245-11e7-9bff-127f79ad0511.jpg)


What went wrong? (add screenshot)
![screenshot from 2017-07-06 12-10-30](https://user-images.githubusercontent.com/146436/27918442-5d57624e-6245-11e7-9436-5ba31cc8bd1a.png)
![screenshot from 2017-07-06 12-10-44](https://user-images.githubusercontent.com/146436/27918454-63b486da-6245-11e7-9eb5-c03aa5c40943.png)



const activeSMask = this.current.activeSMask;
    const drawnWidth = activeSMask.canvas.width;
    const drawnHeight = activeSMask.canvas.height;
    const cacheId = "smaskGroupAt" + this.groupLevel;
    const scratchCanvas = this.cachedCanvases.getCanvas(
      cacheId,
      drawnWidth,
      drawnHeight,
      true
    );
    const currentCtx = this.ctx;
    const currentTransform = currentCtx.mozCurrentTransform;
    this.ctx.save();
    const groupCtx = scratchCanvas.context;
    groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
    groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
    groupCtx.transform.apply(groupCtx, currentTransform);
    activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
    copyCtxState(currentCtx, groupCtx);
    this.ctx = groupCtx;
    this.setGState([
      ["BM", "source-over"],
      ["ca", 1],
      ["CA", 1],
    ]);
    this.groupStack.push(currentCtx);
    this.groupLevel++;
  }
  suspendSMaskGroup() {