TextLayer selection coloring improvement for overlap.

As a consequence of merging #5221 it is more likely to have multiple
overlapping selection divs inside the text layer. Because each individual
element gets the selection style applied, the 30%opacity stacks, making a
60% bar visible where the overlap happens.

As proposed by @rocallahan, this can be fixed by making the selection
style solid and setting opacity for the overall layer.

I assume also that this should make the work for the renderer easier, but
was unable to bench it.
Fix Symbol fonts without font file but with Encoding dictionary (issue 5238)
Add support for MMType1 fonts with embedded font files
Fixes names collisions in content.js
Implement streaming using moz-chunk-arraybuffer
Replaces (chunk in this.loadedChunks)
Moves watchScroll and getVisibleElements from PDFView
Moves thumbs logic into PDFThumbnailViewer.
Moves viewer code into PDFViewer and some code from PageView.
Moves pdfDocument.getPage/getTextContent requests out of PDFView
Moves rendering queue logic from PDFView
Removes PresentationMode dependency from PDFViewer
Removes any usage of PDFView in the PageView
Moves constants to avoid dependency on PDFView
Builds distribution package for npm and bower.
Improve the getData unit test

As a follow-up to PR #4795, this patch improves the `getData` unit test to ensure that the returned data is of the expected type and of the correct length.
Merge pull request #5327 from yurydelendik/dist

Builds distribution package for npm and bower.
Merge pull request #5330 from Snuffleupagus/better-getData-unittest

Improve the getData unit test
Merge pull request #5314 from yurydelendik/issue5313

Fixes names collisions in content.js
Merge pull request #5282 from CodingFabian/nicer-overlapping-text-selection

TextLayer selection coloring improvement for overlap.