Set URL in history.replaceState/pushState

When <base href> is present, history.replaceState and
history.pushState behave inconsistent with relative URLs.
http://code.google.com/p/chromium/issues/detail?id=274024

Contrary to what one expect, passing '' as the URL parameter to
replaceState/pushState does not associate the currently active
URL with the history entry, but a path relative to <base href>.

To fix the issue, explicitly associate the current active URL
with the history's state.
Disable range requests in old Android versions
Change the cursor so that text selection doesn't appear possible in presentation mode
Properly disable presentation mode when the viewer is embedded
instanceof HTMLElement does not work in jsdom node.js module.
Fix layout of main toolbar

Before this commit there were two main issues:

- In small windows, the zoom controls visually floated above the page number
  (e.g. 733px).
- In small windows, the (transparent) zoom container covered the go-to-page
  input box, which prevented one from using the input field to quickly navigate
  to a different page.
Adding Persian Translations
[PDFHistory] Prevent the history from skipping entries in certain edge cases, when specifying an initialBookmark in the hash parameters on document load
Prevent trying to set the 'maxHeight' property of the secondaryToolbar before the viewer is completely loaded
Improvements for RTL languages
Update webL10n to latest version + features

Base version of l10n:
- https://github.com/fabi1cazenave/webL10n/tree/b18c753c6f
4 extra commits (expected to be accepted):
- https://github.com/fabi1cazenave/webL10n/pull/38

New features compared to mozL10n:
- Support for getting translated attributes in get()

The previous version of mozL10n was based on:
- https://github.com/fabi1cazenave/webL10n/commits/0c06867a75
- diff: http://pastebin.mozilla.org/3061694

To make it easier to update webL10n in the future, I will apply
the PDF.js-specific changes in a separate commit.
webL10n: Apply PDF.js-specific changes

Based on http://pastebin.mozilla.org/3061694

1. Remove "debug helpers" and use console.log/console.warn directly (top).
2. Remove page load initialization (middle).
3. Remove window._ alias (bottom)

The original diff contained an extra entry
"Adds fallback argument to the getL10nData;",
but this was already implemented in the rebased webL10n, so it's no
longer PDF.js-specific.
Revert language string changes
Update ja locale
Update zh-TW locale
implementing transform matrix to getTextContent
Move PageView from viewer.js to its own file
Fix coding style in page_view.js
Use canvas and css width/height instead of css transform for high dpi.
dont display file input when printing

closes #2464