Split layout code into a separate crate.
Split compositing/pipeline/constellation code into separate crate.
Fix incorrect libcompositing dep.
Update submodule pointer and code to match interface change.
Merge pull request #2738 from glennw/azure-update

Update submodule pointer and code to match interface change.
Merge pull request #2726 from jdm/layoutsplit

Split layout code into a separate crate.
Add parsing of `overflow: scroll` and `auto`.

Elements with overflow scroll/auto are not yet scrollable, but they will be
clipped correctly (like `overflow: hidden`).
Remove unused Fragment::needs_clip method
Add a FIXME comment for #2742
Merge pull request #2740 from mbrubeck/scroll-auto

Basic parsing of `overflow: scroll` and `auto`.
Run render task on OS thread to avoid Skia memory corruption.

When Skia is running on a green task, it can sometimes be
rescheduled onto a different OS thread. This creates problems with
the memory pool implementation in Skia, which uses TLS for
storing the per thread memory pool information. Free'ing a
pool allocation from a different OS thread than it was
allocated on can cause heap corruption.

FIXME: When we update rustc, switch the task failure
message to using the new NativeTaskBuilder interface so that
it can use the same send_on_failure function as green tasks.
Merge pull request #2743 from glennw/skia-threading

Run render task on OS thread to avoid Skia memory corruption.
Refactor compositor layer tree design

Instead of having two parallel trees of CompositorLayers and
ContainerLayers, transform CompositorLayer to CompositorData and move
tiling logic to rust-layers.