Faster chunkedStream_getByte()
Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
use getBytes() instead of looping over getByte()
Make QueueOptimizer easier to read.

QueueOptimizer is really hard to read. Enough so that it's blocking my
efforts to streamline the representation used for operator lists.

This patch improves its readability in the following ways.

- More descriptive variable names make the sequence checking much clearer,
  as do additional comments.

- The addState() functions now return the index of the first op past the
  sequence, instead of setting context.currentOperation to the last op of
  the sequence.

- The loop in optimize() is clearer.

- The array modification in the fourth addState() function is much clearer
  -- we're just removing trios of ops.

- All four |addState| functions are now more consistent with each other.

I used some debug printfs to find documents where these optimizations are
used and then checked that the number of optimized ops was the same before
and after my changes.
Add |fillRgb| method to LabCS
Fixes mesh fill pattern with optional matrix (#5020)

In the referenced issue, there is a PDF which uses a fill pattern which does not
have a matrix defined. This causes singularValueDecompose2dScale to fail with
undefined property error when accessing elements of that matrix.

This fix will only use the matrix when it is defined. The output for the PDF in
question now looks identical to chrome and preview with respect to the gradient
fill pattern.
Merge pull request #5005 from fkaelberer/faster_ChunkedStream_getByte

Faster chunkedStream_getByte()
Merge pull request #5021 from CodingFabian/issue-5020

Fixes mesh fill pattern with optional matrix
Removing unused code
Adjust the tabindices in the viewer

The current way that the tabindices are defined, has the unfortunate consequence that adding a single button to the UI might mean having to change almost all tabindices. (This was the case in e.g. PR 4329.)

This patch attempts to avoid that situation happening again, by re-defining the tabindices slightly.
Merge pull request #5062 from Snuffleupagus/adjusted-viewer-tabindices

Adjust the tabindices in the viewer
Enforcing JSHint's undef option
Enforcing JSHint's noarg and nonbsp options
Merge pull request #5037 from Snuffleupagus/issue-5036

Add |fillRgb| method to LabCS
Merge pull request #5012 from Snuffleupagus/issue-5010

Prevent CMapFactory.create from failing by passing the necessary parameters from PartialEvaluator_readToUnicode (issue 5010)
Adds ImageData set support for legacy safari
Merge pull request #5068 from yurydelendik/imgdata-safari

Adds ImageData set support for legacy safari
Revert commit fc73e2e (PR 5005) for breaking certain PDF files
Merge pull request #5069 from Snuffleupagus/revert-5005

Revert commit fc73e2e (PR 5005) for breaking certain PDF files
Fix another seac regression (issue 4801)