Fix bug in api.js whereby fake workers didn't load the worker code

PDFJS does not work on Windows Safari, due to the lack of support for workers passing typed arrays. At some point, the code to set up the fake worker so that things work on Safari seems to have become broken and nobody noticed - it was just calling setupFakeWorker() without actually calling loadFakeWorkerFiles(). With this patch, the PDFJS works again on Windows Safari.
Fix css rotation for canvas and text layer.
Fix the B2G viewer and enable bot preview.
Intersect group bounding box with the current canvas dimensions.
chrome.extension -> chrome.runtime for Ubuntu

Addresses issue #3800, where a bug specific to Ubuntu builds of Chromium
break PDF.js
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1232575
Implement initial CalGray support

Gamma and Whitepoint are supported in this patch for CalGray.
Blackpoint is not supported.
Merge pull request #3801 from Rob--W/hotfix/crx-ubuntu

chrome.extension -> chrome.runtime for Ubuntu
chrome.runtime -> chrome.extension when needed

Some Ubuntu users are still stuck at Chromium 25.
Merge pull request #3807 from Rob--W/crx-chromium-25

chrome.runtime -> chrome.extension when needed (support Chromium 20-25)
Add missing jsdocs for PDFJS globals.
Enable links beginning with 'www.' even if no protocol is specified
Inline setScale in parseScale
extract code to own method for faster JPX decoding
Merge pull request #3787 from Snuffleupagus/inline-setScale

Inline setScale in parseScale
Merge pull request #3796 from brendandahl/global-docs

Add missing jsdocs for PDFJS globals.
Minor nit fixes for api.js
Merge pull request #3810 from timvandermeij/nit-fixes

Minor nit fixes for api.js
Merge pull request #3554 from fkaelberer/FasterJPXdecoding

Speed up JPX decoding on Firefox
Merge pull request #3577 from kkujala/calgray

Implement initial CalGray support
[CRX] Change Viewer insertion method

And use split incognito mode

Previous method:
- Rewrite content type to XHTML, followed by a content script
  to cancel and replace the document with the viewer.
  ( https://github.com/mozilla/pdf.js/pull/3017 )

New method:
- Cancel loading of the document, followed by a redirect to the viewer

Disadvantage of new method:
- URLs are no longer "nice". This will be addressed by cherry-picking
  a commit from the crx-using-streams-api branch.

Advantages of new method:
- Idle time is minimal. In some cases (with large documents),
  it took too much time before the content script was activated.
  During this period, the page looked blank, and the contents of
  the PDF file were still retrieved and **discarded**.
  With the new method, the idle time is minimal, because the request
  is immediately cancelled.
- No FOUXEP (Flash of unhidden XML error page), because the XHTML
  Content-Type hack is no longer used.