Load file:-URLs in the main thread.

QtWebKit does not support file:-URLs in Web Workers.
To solve this issue, I'm loading file:-URLs in the main thread
for generic builds. file:-URLs load relatively quick, so there
is no need for sophisticated load progress notifications.
Make IdentityCMaps more compact.

IdentityCMap uses an array to represent a 16-bit unsigned identity
function. This is very space-inefficient, and some files cause multiple
IdentityCMaps to be instantiated (e.g. the one from #4580 has 74).

This patch make the representation implicit.

When loading the PDF from issue #4580, this change reduces peak RSS from
~370 to ~280 MiB. It also improves overall speed on that PDF by ~30%,
going from 522 ms to 366 ms.
Optimize TextLayerBuilder_renderLayer() for text heavy documents.

This change improves the text layer creation of "normal" text heavy documents.
It changes 2 things:
 * If the text element is not rotated, it will neither calculate nor apply a
   textTransform: rotate(0deg) to the text layer element.
 * For scaling the text layer div, the context will measure the width of the
   text in the given font. For many text documents the font changes seldom.
   If the font stays the same, the context does not need to be set to a new font
   especially avoiding the temporary creation of the same font string over and
   over again.
Merge pull request #5137 from CodingFabian/optimize-textbuilder-renderLayer

Optimize TextLayerBuilder_renderLayer() for text heavy documents.
Merge pull request #5135 from nnethercote/identity-cmap-proper

Make IdentityCMaps more compact.
Merge pull request #5100 from Rob--W/load-file-in-main-thread

Load file:-URLs in the main thread.