Implement Element.matches().
Add a `task_info` crate and a `task_basic_info` module within it.

The crate provides an interface to the Mac-specific `task_info()`
function in general, and the module provides an interface to the
TASK_BASIC_INFO flavor.  Currently only the `virtual_size` and
`resident_size` values of the `task_basic_info` struct are exposed, but
there's obvious room for expansion.

This is used to implement the -m measurements on Mac.
Move compositor event handling code to a new `events` module

Also, make them free functions rather than static methods on
CompositorData.
Merge pull request #2786 from nnethercote/task_info

Add a `task_info` crate and a `task_basic_info` module within it.
Add logical geometry primitives, for CSS Writing Modes.
Update rust-layers

This fixes the Quadtree tests in check-rust-layers.

Fixes #2768.
Merge pull request #2796 from mrobinson/fix-make-check

Update rust-layers
Merge pull request #2790 from SimonSapin/abstract-geometry

Add geometry primitives in flow-relative space
Merge pull request #2789 from zwarich/compositor-events

Move compositor event handling code to a new `events` module
Merge pull request #2772 from saneyuki/match

Implement Element.matches().
Revert "Implement Element.matches()."

This reverts commit b6edd5318f3fe5c751d1c011e87adbfe0cac4fcc.
Update to latest rust-layers

Layers now store their complete boundaries, so we can eliminate the
various ways these were stored in Servo.
Remove occlusion code from compositor

This code tried to prevent buffer requests from parts of layers that
were occluded by other layers. This doesn't really make sense when
layers can potentially be semi-opaque, and also seems to have not been
totally functional.
Remove support for hiding compositor layers

This is currently unused, because we always know the size of the layer.
Remove page_size member from CompositorData

The page size is always the same as the layer boundaries since,
SetLayerClipRect was always called after layer creation.
Update to latest rust-layers
Merge pull request #2798 from mrobinson/more-rust-layers-cleanup

More rust layers cleanup
Make send_buffer_requests_recursively batch messages

Also, rename it to get_buffer_requests_recursively to reflect that the
caller has to send all of the batched messages itself.
Separate the contents of ReRenderMsg into its own type

Make a ReRenderRequest type to represent the contents of a ReRenderMsg.
Currently, ReRenderMsg just takes a single one, but it in the future it
will take multiple requests.
Batch ReRenderRequests rather than render_task::Msg

Make get_buffer_requests_recursively create a ReRenderRequest rather
than a ReRenderMsg, and have its caller create the ReRenderMsg from
the ReRenderRequest.