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.
Add an extended_deref method to JSRef

The extended_deref method will take a JSRef<'a, T> and produce an &'a T,
in contrast to the standard deref method that takes an &'b JSRef<'a, T>
and produces an &'a T. This is useful when avoiding passing a JSRef by
reference.
Make the AttrHelpers trait use extended_deref
Make the DocumentHelpers trait use extended_deref
Simplify the Page URL handling in handle_resize_inactive_msg.

This also makes it more obvious what's actually happening.
layout: Don't double-count padding, etc, and don't draw
backgrounds/borders/etc. twice for inline-blocks.

Improves Reddit, GitHub, and many other sites.
layout: Refactor a few things, mostly just to obey the line limit.
Add an extra lifetime parameter to TElement / TNode

This isn't used for anything yet, but it's easier to propagate this
change in a separate commit.
Refine a lifetime parameter
Remove the 'static lifetime parameters from TElement methods

This improves the static correctness of layout's use of DOM nodes.

Fixes #2595.
Merge pull request #3474 from glennw/reftest-fbo

When rendering to PNG, draw to an FBO rather than default framebuffer.

Reviewed-by: mrobinson
Merge pull request #3497 from zwarich/extended-deref

Add an extended_deref method to JSRef

Reviewed-by: Manishearth
Merge pull request #3498 from pcwalton/border-box-double-counting

Stop double-counting stuff in inline-block

Reviewed-by: glennw
Merge pull request #3503 from Ms2ger/page-url

Simplify the Page URL handling in handle_resize_inactive_msg.

Reviewed-by: jdm
Fix the doc build step.
Merge pull request #3501 from zwarich/telement-lifetimes

Remove the 'static lifetime parameters from TElement methods

Reviewed-by: jdm
Merge pull request #3506 from metajack/fix-doc-build

Fix the doc build step.

Reviewed-by: SimonSapin
trace keys as well
Merge pull request #3508 from wenderen/JSTraceable.key

trace keys as well

Reviewed-by: Manishearth
Fix indentation in is_htmliframeelement.