Make CMap.map quasi-private.

This makes it easier for the representation to be improved.
Optimize CMap.prototype.forEach().

This change avoids the element stringification caused by for..in for the
vast majority of CMaps.

When loading the PDF from issue #4580, this change reduces peak RSS from ~650
to ~600 MiB, and improves overall speed by ~20%, from 902 ms to 713 ms.  Other
CMap-heavy documents will also see improvements.
Add a couple of reduced test-cases for PR 4259

PR 4259 fixed a large number of font bugs, but none of those where added as test-cases. This was, in my opinion, unfortunate since it increases the risk of regressions in the future when other font bugs are fixed.
This PR simply adds a few more test-cases, to improve our test coverage somewhat.
Attempt to fix Travis
Merge pull request #5106 from timvandermeij/travis-fix

Attempt to fix Travis
Merge pull request #5105 from Snuffleupagus/pr-4259-tests

Add a couple of reduced test-cases for PR 4259
Merge pull request #5101 from nnethercote/CMap-forEach

Avoid expensive for..in loops involving CMaps
Merge branch 'master' of https://github.com/mozilla/pdf.js