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 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