Add #[jstraceable] syntax extension
Allow resolution to be configured on command line. Default to 1280x1024.
Change default back to 800x600 as mac travis builders don't work with 1280x1024
Add untraceable! macro
Change opts to work in screen pixels that are scaled to device pixels.
Use JSTraceable everywhere
Update docs
Address review comments
Merge pull request #3468 from Manishearth/jstraceable

Replace our usage our Encodable with JSTraceable; r=jdm
When rendering to PNG, draw to an FBO rather than default framebuffer.

This means that it doesn't matter if the window if partially placed
off screen when reftests run.

Fixes #3470.
Disable travis
Merge pull request #3473 from servo/disable_travis

Disable travis

Reviewed-by: SimonSapin
layout: Consider relatively positioned blocks as possible block
formatting contexts, and translate floats out of block formatting
contexts.

These improve Reddit.
Merge pull request #3475 from pcwalton/block-formatting-context-fixes

layout: Consider relatively positioned blocks as possible block

Reviewed-by: glennw
Store scrolling root scroll offset explicitly

Instead of sneakily setting the content offset and not the transform on
scrolling roots, let scrolling roots specify their scroll offset
directly and separately. This will also be important when adding proper
scrolling support for iframes.
Give root layers a scrollable policy

This allows iframe layers to move properly when their parents scroll
and is necessary to properly track their masking rects as their
children move and to draw their backgrounds in the proper position.
Properly size root layers

Root layers should be sized to their frame rectangles and the root of
the root layers should track the window size. This is important because
layers need to be properly sized to scroll.
Differentiate clearly how child layers handle scroll events

This allows the scroll handler to know if a child layer didn't handle
an event or the scroll position of the child layer was simply unchanged.
Don't let base layers override root layer size

Base layers (the background layer of each frame) shouldn't override the
size of their root layers. This allows base layers to scroll inside
root layer frames. This does mean that when determining the maximum
scroll position, we need to look at the size of scrolling root children
though.
Compound scrolling offsets when setting content offset

When traversing the layer tree to assign content offset, the new offset
needs to take into account any additional offset from children that are
also scrolling roots. This means that when you scroll a parent frame, it
doesn't override the scroll position of its children, but adds to it.