Add decorators argument to `mozorg.utils.page`

The `decorators` argument can be a reference to a single decorator or an iterable object of decorators to be applied to the given template. It's an optional parameter so existing calls to `page` should continue to work without incident.

The decorators are applied in reverse order to match the behavior of the other techniques for applying decorators (nested decorator function calls on the view function and the `@` operator).
Wrap Tabzilla css and js in overridable template blocks

For cases in which Tabzilla isn't part of the interface and thus it isn't necessary to include its assets.
Add initial "Download Firefox" Facebook Tab

Add `facebookapps` app for this and other Facebook-related things. Also add initial Download Tab template under the `/facebookapps/downloadtab/` URL. The URL is decorated by `xframe_allow` so that it can be displayed inside a Facebook tab iframe. The initial template extends Bedrock's `base.html` with various blocks cleared of their default contents.
Add initial Download Tab LESS file

Adds LESS file with imports, adds a new bundle in the jingo-minify config and calls `css()` helper in the template.

Also adds `normalize.css` and HTML5 Boilerplate's `main.css` to `media/css/libs` folder (other modules might want to use them). I wanted to go with `vendor` but that is in the `.gitignore`. I'm open to better ideas for the folder's name.
Add initial Download Tab JavaScript files

Adds main js file, Base class and main App class, adds them to jingo-minify and calls `js()` helper in template.

The Base class initializes the app's singleton and gives classes that extend it access to the singleton. The App class is intended to contain the app's main business logic.
Add `getBaseUrl` method to Download Tab's App class

Returns base URL generated from the `window.location` object. Can receive `options` object to include the protocol or send in a custom protocol. App constructor now receives the `window` object to gain access to `location`.
Add channel URL for Facebook JavaScript SDK
Send server-side data to Download Tab's singleton

Sent via script tag in the template. Singleton initialization is now performed in the script tag rather than in Base.js. Server data is now injected into classes that inherit `Base` via the `_initData` property. Initial server data is channel URL for Facebook JavaScript SDK and `DEV` setting for the front end to be aware of development mode.
Add Facebook JavaScript SDK to Download Tab

Adds a new `Facebook` wrapper class for asynchronous loading of the SDK and initialization code. The process begins as soon as the instance is created unless the `startImmediately` option is sent a falsy, non-`undefined` value.

The `App` class creates an instance of `Facebook`, runs it immediately and sends in a callback that makes use of the SDK.
Add util function to decode Facebook's `signed_request`
Add `get_best_locale` util function

This function gets the best locale possible from the `FACEBOOK_LOCALES` setting. It may either be the given locale, the main locale for the given locale's language or the default `en_US`.
Add view decorator to use Facebook locale

Gets user's Facebook locale from the `signed_request` parameter and compares it to the supported locales using `get_best_locale` function.
Add l10n to Download Tab

Use `facebook_locale` decorator to get locale from Facebook. Wrap all copy strings in `_`and `trans` function calls.
Added Facebook Download Tab HTML markup.
Prepared basic Download Tab styles

Background Firefox logo, tabzilla-looking tab, basic typography styling for headings and sub-content, common styling for all three scenes and three-step progress bar styling (implemented as sprite image of the three steps).
Styled Scene 1: Download.

- Added official download button but will soon change to an updated version.
Styled Scene 2: Share

- This is the thank you page after succesful download.
- Based OS images directly from the ones used on the official download page for consistency.
- Tweaked styles on Sandstone green button to match the approved design, but left the Download button as is.
Styled Scene 3: Get involved.

- Created a Facepile for community images.
- Initial styling of ticker.
Added CSS animations for slider and transitions between scenes.

Signed-off-by: Waldemar Figueroa Medina <waldemar@nobox.com>
Added Scene 3 slider behavior