Improve logical geometry formatting

Logical geometry is complicated, so the string formatted output is
verbose. This means that flow tree dumps often go well beyond the
edge of the terminal screen. With a simple notation, we can shorten the
output and make it slightly easier to read. This notation also makes it
more similar to the formatted output of Rect, Point2D, and Size2D.
gfx: Update rust-azure to pick up arcs, gradients, and subpixel text
Update toml.py to upstream 1069d2449760525535ca77514a92e9237ee0deaf
Add an option to validate display list items

When this option is enabled, the layout task will print an error when
display list items draw outside their owning Flow's position rect. This
will make it easier to detect layout errors before they break rendering.

This is a command-line option for the moment, because we violate this
rule quite a bit still. Once all bugs causing this are fixed, we can be
more aggressive about enabling the option.
Add an option to show debug fragment borders

This is quite a bit cleaner than abusing the rust debug functionality.
If we start collecting too many debugging options in the servo
executable we could opt to organize them into a single option.

Fixes #2263.
gfx: Switch the default to CPU painting.

We've discussed this some and I think there's consensus to do it as a
pragmatic decision for now. CPU painting is more stable, especially with
buggy drivers, and faster (because we aren't caching the necessary
OpenGL objects yet and possibly for other reasons), so it provides a
better "out of the box" experience for newcomers to Servo who don't know
to pass the `-c` option. This patch continues to reftest both Skia and
Skia-GL out of a desire to keep options open. Skia-GL remains a
first-class citizen.
properly incrementally set block size
added cmake to dependencies in build instructions
Merge pull request #3764 from dherman/dherman-build-instructions

added cmake to dependencies in build instructions
auto merge of #3746 : mrobinson/servo/debug-fragment-borders, r=pcwalton

This is quite a bit cleaner than abusing the rust debug functionality.
If we start collecting too many debugging options in the servo
executable we could opt to organize them into a single option.

Fixes #2263.
auto merge of #3747 : mrobinson/servo/validate-display-list, r=pcwalton

When this option is enabled, the layout task will print an error when
display list items draw outside their owning Flow's position rect. This
will make it easier to detect layout errors before they break rendering.

This is a command-line option for the moment, because we violate this
rule quite a bit still. Once all bugs causing this are fixed, we can be
more aggressive about enabling the option.
readme: Embiggen the name of the project
Remove the help text for render backend option. follow up #3711.
Merge pull request #3767 from pcwalton/readme-header

readme: Embiggen the name of the project
auto merge of #3748 : mrobinson/servo/trimmer-flow-tree-output, r=mbrubeck

Logical geometry is complicated, so the string formatted output is
verbose. This means that flow tree dumps often go well beyond the
edge of the terminal screen. With a simple notation, we can shorten the
output and make it slightly easier to read. This notation also makes it
more similar to the formatted output of Rect, Point2D, and Size2D.
Use DOMRefCell for Document.
Use DOMRefCell for Event.
Use DOMRefCell for EventTarget.
Use DOMRefCell for FormData.
Use DOMRefCell for HTMLImageElement.