Bug 948765 - Add a LayerUtils file in gfx/layers. r=nical

This file is currently just a helper for doing PremultiplySurface in
Moz2D. It corresponds to an existing Thebes one in the gfxUtils class.

An upcoming patch will require this PremultiplySurface method. The
existing one in gfxUtils has been renamed internally to
DeprecatedPremultiplyTables.
Bug 948765 - Port CopyableCanvasLayer to Moz2D. r=nical

This patch deprecates the UpdateSurface and PaintWithOpacity methods in the
CCL class. To do this, many other changes were made in the process.

BasicImplData::Paint was deprecated, and its mOperator was ported to Moz2D.
This caused changes in several *Layer subclasses.

GLScreenBuffer::Readback was deprecated.

I want to change the usages of the (now) deprecated functions, so that they
use the new Moz2D ones: CanvasClient::Update has been updated, but the big
one (BasicLayerManager::PaintSelfOrChildren) will have to be its own
project.
Bug 948765 - Implement BasicColorLayer::Paint. r=nical
Bug 948765 - Implement BasicImageLayer::Paint. r=nical
Bug 948765 - Simplify (and fix issue) with CanvasLayerD3D9. r=nical

There seemed to be some duplication of code in the UpdateSurface method,
as well as an issue with updating that caused some reftests to fail.

In this patch, I remove the mSurface member variable from
CanvasLayerD3D9.h, and instead call mDrawTarget->Snapshot() as needed.

I also reuse the code to draw into the D3DLOCKED_RECT so that we don't
duplicate that portion anymore. It seems now to be more similar to the way
CanvasLayerD3D10 works.

The reftests now pass.
Bug 956646 - Add renameTo to nsIFile interface. r=bsmedberg
Bug 956646 - Implement nsIFile#renameTo on Unix. r=bsmedberg
Bug 956646 - Implement nsIFile#renameTo on Windows. r=bsmedberg
Bug 956646 - xpcshell test for nsIFile#renameTo. r=bsmedberg
Bug 960382 - Accessible table rows should be of ATK_ROLE_TABLE_ROW, not ATK_ROLE_LIST_ITEM. r=tbsaunde
Bug 963023 - AArch64 support for libevent. r=froydnj