Bug 1064479 - Redo how screen rotation is implemented on B2G/Layers. r=nical, r=mwoodrow, a=bajaj

Currently we use a world transform on the LayerManager. This gets passed to the
screen render target which adjusts the gl transform to accomplish the rotation.
This causes a lot of the system to have to know about the transform.

Instead we can just bake the transform into the root layer's shadow transform.
Everything now mostly just works.

--HG--
extra : rebase_source : a7848af88cd28f9a74b2d2d713dc1c9a51f4e260
Bug 1064855 - Handle zero area destination rects during image snapping. r=roc, a=lmandel

--HG--
extra : rebase_source : 85385230c4191806818f14d210b61937f070a9d3
Bug 1059674 - Use AsyncShutdown.blocker() for AddonManager provider shutdown. r=unfocused, a=lmandel
Bug 1071241 - Call ComputeRotation before TransformShadowTree. r=mwoodrow, a=bajaj

This is need so that the rotation transform is available at
transform time. Without this rotation is delayed a frame.
Bug 1066664 - Fix screenshot rotation. r=mwoodrow, a=bajaj

This moves the screenshot (now-nonexistent) unrotation code from the opengl
compositor into ClientLayerManager.cpp
Bug 1074135 - Callback after exceptions when calling async provider methods. r=unfocused, a=lmandel
Bug 1071022 - Make Yahoo default search engine. r=mfinkle, a=lmandel, l10n=lmandel