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
Allocate fewer objects when parsing 2 and 4 byte chunks.

This is achieved by adding getBytes2() and getBytes4() to streams, and by
changing int16() and int32() to take multiple scalar args instead of an array
arg.
Avoid allocations in bidi().
Avoid more allocations in bidi().
Avoid allocations in executeCommand().
CMaps binary packing
Quick notes about the format
Prevent infinite loop in CFFParser_parseHeader
Merge pull request #4473 from Snuffleupagus/bug-866395-partial

Prevent infinite loop in CFFParser_parseHeader
Fixes HiDPI icons of the secondary toolbar for Chrome
Merge pull request #4477 from yurydelendik/chromehidpi

Fixes HiDPI icons of the secondary toolbar for Chrome
Merge pull request #4440 from bthorben/refactor/pdf_manager.js

refactor src/core/pdf_manager.js: rename pdfModel to pdfDocument
Removes external/cmaps; adds binary cmaps to the repo
Updates make.js for cmaps and make binary cmaps by default
Merge pull request #4470 from yurydelendik/packcmap

CMaps binary packing
Merge pull request #4447 from nnethercote/object-reduction

Allocate fewer objects
Preliminary attachments support

Added a partial Filespec support
Added getAttachments in API
Added a new attachments view in UI (with a new icon by @shorlander)