Bug 716403 - Dynamically hide the location bar when scrolling. r=kats

Intercept touch events and use them to pan the location bar on and off the
screen, depending on its current location. Also dynamically show/hide the
location bar when loading pages.
Bug 716403 - Offset fixed layers so the toolbar doesn't obscure them. r=nrc,kats

Offset fixed layers in the compositor so that the toolbar in Firefox for Android
doesn't obscure them. This does not affect layout, so input on the elements in
said layers will appear broken.
Bug 716403 - Make the top of the page accessible with the toolbar visible. r=kats

This makes it possible to scroll to the top of the page with the toolbar visible
in Firefox for Android. It also causes JavaScript scrolling to position 0 to
expose the toolbar.
Bug 716403 - Resize viewport dynamically on Android. r=kats,mfinkle

This causes the viewport size to differ, depending on the length of the page.
This has the effect of pages that size themselves to the size of the window
always having the toolbar visible, making sites like Google Maps more usable.
Bug 716403 - Add nsIDOMWindowUtils.setContentDocumentFixedPositionMargins. r=roc,dholbert

Add a function to set margins on the viewport that are respected by its
absolute containing block. This has the effect of being able to add margins to
fixed position content, which will be used on mobile to stop temporarily
visible chrome from obscuring content.
Bug 716403 - Annotate layers with the fixed margins from the PresShell. r=nrc,roc

This annotates fixed layers with the margins that have been applied from
nsIPresShell->GetContentDocumentFixedPositionMargins. Using SyncViewportInfo
in CompositorParent, this allows for async fixed position margin setting.
Bug 716403 - Use setContentDocumentFixedPositionMargins in Android's browser.js. r=kats

This uses the aforementioned method on nsIDOMWindowUtils to make sure layout's
idea of the fixed position margins matches those used in the compositor.
Bug 716403 - Hide dynamic toolbar hiding behind a pref. r=kats

Disable dynamic toolbar hiding on Android by default, with pref
browser.chrome.dynamictoolbar available to enable it.