Add a cache for glyphs.

This reduces memory consumption for text heavy documents. I tested five
documents and saw hit rates ranging from 97.4% to 99.8% (most of the misses are
due to |width| varying even when |fontChar| matches). On two of those documents
I saw improvements of 40 and 50 MiB.

The patch also introduces the Glyph constructor, and renames the |unicodeChars|
local variable as |unicode| for consistency with the corresponding Glyph
property.
Fix download button waiting if document has started but not completed downloading
Fix some indenting within OperatorList.
Make fnArray always be a plain array.

This makes the code much simpler, and the extra memory use is tiny -- a vanilla
1000 element array is only 4000 bytes larger than a Uint32Array of the same
size.
Fix Issue #4461: Pages without \Resources in their dictionary fail to load

When no "\Resource" entry could be found return an empty dictionary
Refactor and fix style of core.js
Add load test for Issue #4461
Merge pull request #4464 from bthorben/issue#4461

Fixes pages without Resources in their dictionary
refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument

Rename pdfModel to pdfDocument to let the name closer resemble what the
variable actually holds
Add Test for PDFDocumentProxy_getPageIndex
Introduce paintSolidColorImageMask command to handle 1x1 solid image masks

See https://github.com/mozilla/pdf.js/issues/4436 for details
Added TC for issue 4436
Merge pull request #4481 from bthorben/refactor/pdf_manager.js

refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
Sync pt-BR translations with l10n-mozilla-aurora
Merge pull request #4488 from alexandrevicenzi/syncptBRtranslations

Sync pt-BR translations with l10n-mozilla-aurora
Merge pull request #4474 from chriskr/draw-image-subpixel-support

Introduce paintSolidColorImageMask command to handle 1x1 solid image
Merge pull request #4453 from nnethercote/charToGlyph

Add a cache for glyphs
Merge pull request #4478 from nnethercote/plain-fnArray

Use a vanilla array for fnArray
Fixes ignoring of the escaped CR LF
Making src/core/{image,obj,parser}.js adhere to the style guide