fix bug 863527 by updating test instead of parsing untrusted input
Bug 847908 - [Gallery] Remove mouse event shim in favor of GestureDetector

Author:    Jan Jongboom <janjongboom@gmail.com>
Bug 886668 - User cannot scroll in mmi screen
Settings cleanup
[STK] Implement language selection event download
Bug 854785 - Ensure to round seconds when updating call duration

When computing the duration, glitches can interfere thus that the
duration computed might be a bit under the interval of 1000ms. In the
event of this case, one would see a first tick with, for example, a
call duration of 28.001 secs, and a next tick with a duration of 28.999.
BUG 889164 updating slider whenever controls shown
Bug 889895 - Remove mouse system shim
Bug 853933 - Don't inline all locales as JSON in the HTML

Currently, in order to ensure that apps are translated before first paint, all l10n resources are included as one multi-locales JSON dictionary, which is serialized in an inline `<script>` element for each HTML document.  This works fine when shipping few locales, but it can increase the document size quite badly for 60+ locales, thus delaying the startup time very significantly.

This patch allows to support 60+ locales more easily by having:
* one minimal JSON dictionary per locale in each HTML file;
* one extensive JSON dictionary per locale in each webapp.

The inline JSON dictionary is split on a per-locale basis (= one `<script>` node per supported locale) and only contains the l10n strings that are required to translate the HTML document: the "startup cost" of each locale becomes neglectable, and it removes the risk of high RAM consumption when parsing a giant multi-locale JSON at startup.

All l10n resources that are not declared in the HTML document are concatenated in a single JSON dictionary per locale: this reduces the number of disk I/O to load l10n resources and does not increase the total disk size of each webapp.  To enable this, this patch implements a `{{locale}}` quasi-litteral in the HTML markup that is used to declare l10n resources:
  <link rel="prefetch" type="application/l10n" href="/{{locale}}.json" />
where `{{locale}}` is replaced by the value of `navigator.language`.

Note that this latter optimization is only interesting for apps that wait for the `localized` event to start. With the inline JSON dictionary for the declarative content and the `mozL10n.localize()` method, most apps could probably stop waiting for this `localized` event now.
Bug 890053 - [MMS][SMS] Regression. Recipients pull down pushes input behind keyboard

- broken display: https://www.dropbox.com/sh/pirp25nqtaqcktr/pfFsPQPG6n#f:1.jpg
- fixed display: https://www.dropbox.com/sh/pirp25nqtaqcktr/pfFsPQPG6n#f:2.jpg

https://bugzilla.mozilla.org/show_bug.cgi?id=890053
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
Bug 889123 - Implement gaia pref to fix app permissions in nightly
Bug 881141 - hdpi/xhdpi resolution assets and layout for Usage app
Bug 889224 - Remove remember me option for fullscreen request
Bug 881158 - hdpi/xhdpi resolution assets and layout for Video app
 Bug 890176 - [Camera] Filmstrip preview opens even when video recording starts
Bug 881148 - hdpi/xhdpi resolution assets and layout for Gallery app - update images
Bug 889211 - [SMS] The delivery repory icon for the message is shown with two checks
Bug 889175 - Fix UI problem of fullscreen app when call incoming
Bug 890079 - Homescreen grid tests failing in TBPL with: document.createTouch is not a function r=crdlc

don't try to send touch events if document.createTouch is missing.
Bug 885283 - [sms] receiving a SMS from an existing thread but on a new thread container is broken r=gnarf

* Refactored how threads are added when a new message is received
* This incidentally resolves the bug
* made FixedHeader's refresh and scroll handler so that it's being called once
  per tick only. Then we won't be afraid of calling refresh too many.
* remove some unused code in FixedHeader
* adds tests for FixedHeader
* Fix indentation of createThreadMockup