Bug 867774 - Make RasterImage's frame blending helper functions threadsafe.  r=jrmuizel

--HG--
extra : rebase_source : 4fbf269ff3fcc5d8a88102b20fa7cc09f1c1bc03
Bug 867774 - Create a FrameBlender class that holds on to an image's frames and can blend frames together on demand (while leaving the decision as to which frames to external users). r=seth

FrameBlender steals RasterImage::mFrames, RasterImage::DoComposite, and the
RasterImage blending helper functions CopyFrameImage, DrawFrameTo, and
ClearFrame. Now RasterImage doesn't hold on to its frames directly, and defers
all blending to FrameBlender::DoComposite.

--HG--
extra : rebase_source : f03736045f967f0947441703e54135b98d9dcf54
Bug 867774 - Tests for animated images with different disposal and blend modes. r=seth

--HG--
extra : rebase_source : bceeb8ad5bc02a84e15e758e1addc84d8205b9b2
Bug 811392 - Work - Choose better background colors for location text in the Firefox app bar