Add the comment about to use `mem::transmute()` for values contained in DOMRefCell.
Throw DataCloneError from worker postMessage if structured clone fails

This fixes #3248.
Removes Node.unsafe_get_flags().

`Node.unsafe_get_flags()` returns `*const NodeFlags`,
but `NodeFlags` has only `u8` length.
We should just returns a raw value instead of any pointers.
Use DOMRefCell<T> for HTMLInputElement's field that is borrowed from other tasks.
auto merge of #3693 : ehsan/servo/3248, r=jdm

This fixes #3248.

r? @jdm.  Please review for mistakes mercilessly!  Also, I got a host of test failures when running the worker tests, not sure if these tests are expected to pass locally or not.
auto merge of #3694 : saneyuki/servo/node, r=jdm

`Node.unsafe_get_flags()` returns `*const NodeFlags`, but `NodeFlags` has only `u8` length.
So We should just returns a raw value instead of any pointers.
Add unifying #[dom_struct] attribute (fixes #3667)
Use #[dom_struct] everywhere
Make auto-derived JSTraceable have #[inline] methods
layout: Remove `FontStyle` in favor of using the font style struct
directly, and optimize `get_layout_font_group()` to use a small vector.

Seems to be a 38% layout win on a site I tested with a lot of text.
auto merge of #3684 : Manishearth/servo/dom_struct, r=jdm

This attribute implies #[jstraceable], #[privatize], and #[must_root].
auto merge of #3695 : saneyuki/servo/cell, r=jdm

#3050
Remove unused implementation of MonoCache
Move jsstring_to_str and jsid_to_str to conversions.rs.

This appears to be a more sensible location for them.

Relevant to #433.
auto merge of #3698 : ema-fox/servo/remove-monocache, r=jdm
auto merge of #3699 : Ms2ger/servo/jsstring_to_str, r=jdm

This appears to be a more sensible location for them.

Relevant to #433.
Update test expectations

The hubbub bindings set document.characterSet but we don't use it for anything.
html5ever doesn't parse charsets from <meta> tags yet, and I'd rather add that
as part of adding actual support for other encodings (which Servo never had
with hubbub).

Switching to html5ever also changes attribute parsing slightly (bringing it in
line with the current spec) and this breaks some of the <img srcset> tests.  We
don't support this feature at all.

Some other things change due to bugs in hubbub not present in html5ever.
Use html5ever for HTML parsing
Add a reftest for #1324

Closes #1324, fixed by html5ever.
auto merge of #3670 : kmcallister/servo/h5e-take2, r=jdm

r? @Ms2ger, @jdm

The parser is now a JS-managed object and we use hooks in html5ever to trace its internal state.  This should be memory-safe even if arbitrary JavaScript can run during a parse.  Please let me know if you think of a reason it wouldn't be!

I think the likely outcome of a garbage collection during parsing is a dynamic `RefCell` borrow failure, but I'm going to look into that after this lands.  It should be safe to trace the parser while it's mutably borrowed, as long as it's not shared between threads, so we can probably switch to `UnsafeCell`.