A few small optimizations for CIDFontType2 fonts

Cache a constant length and replace one usage of |in| with a comparison against undefined.
A few small optimizations of adjustMapping

Replace a couple of |in| checks with comparisons against undefined.
Improve how DecodeStream handles empty buffers.

DecodeStream currently initializes its |buffer| field to |null|, which
is reasonable, because lots of DecodeStreams never need to instantiate a
buffer. But this requires various special cases in the code.

This patch change it so DecodeStreamClosure has a single empty
Uint8Array which gets shared between all buffers upon initialization.
This avoids the special cases.

DecodeStream.prototype.ensureBuffer() is really hot, and this removes a
test from the fast path. For one 226 page scanned document this sped up
rendering by about 2%.
[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
Merge pull request #5017 from Snuffleupagus/bug-1028735

[CIDFontType2] Map characters missing in toUnicode to the private use area (bug 1028735 and issue 4881)
Merge pull request #5025 from nnethercote/share-zero-length-buffers

Improve how DecodeStream handles empty buffers.
In the reftest analyzer, make it possible to toggle "Circle differences" with the D key

It's currently possible to step through the test results using the <kbd>N</kbd> and <kbd>P</kbd> keys, and you can also switch between test and reference images with the <kbd>T</kbd> key.
However if you want to highlight the differences, that can only be done by clicking. This has always annoyed me somewhat, so this patch adds support for toggling the differences view with the <kbd>D</kbd> key.
Merge pull request #5050 from Snuffleupagus/reftest-analyzer-differences-key

In the reftest analyzer, make it possible to toggle "Circle differences" with the D key