Prefetch dialog components from the communication_iframe

When the browser is idle, it will start fetching and caching the
dialog's Javascript, CSS and images. This works on IE9 and Firefox
(it's currently disabled in Chromium).

The trick is to make sure that the communication iframe is open
while the user is busy reading the RP's site. When using the
Observer API, this happens automatically at the end of the
navigator.id.watch() call.
Make use of new connect-cachify helper function
Specify the locale when prefetching the dialog stylesheet
Only emit prefetch tags in production mode

There are far too many JS/CSS files to prefetch in development
mode for prefetch to be effective (browsers seem to put a limit on
the number of files they will prefetch).
defend against null or undefined eventStream; add Shane's test
Merge pull request #3324 from jrgm/issue3319dev

defend against null or undefined eventStream; add Shane's test

r+ Thanks again @jrgm, this is great.
Update the yamlparser sha

fixes #3328
Merge pull request #3329 from mozilla/issue_3328_yamlparser_sha

Update the yamlparser sha
Initial styling updates.
Starting to get B2G styles in order.
Set the dialog size to the B2G screen size.
Start on the loading screen.
Show a 'signing in' screen before generating the assertion
Do not resize the screen on mobile devices smaller than the initial screen size. This prevents virtual keyboards from getting in the way.
more styles. yay
Loads up updates to buttons, labels and headers for mobile styling.
Clean up the pick email screen to handle both mobile and desktop.
Bring back the RP info.
Add a loading screen. Add the loading spinner too.
Show the "signing in" screen as soon as a user selects an email address.