Make Attr::value private.
Simplify Element::set_attribute for its remaining callers.
Implement support for parsed attributes.

This commit is heavily based on earlier work by Bruno Abinader in #2073.
Implement Element.classList (partially fixes #1717).
Implement parsed 'unsigned long' attributes.

This commit is partially based on earlier work by Bruno Abinader in #2073.
auto merge of #2616 : Ms2ger/servo/attrvalue, r=jdm

Obsoletes #2073.
Make the conservertive stack scanner calculates `Temporary<T>` as root instead of calling root methods.

See: https://github.com/mozilla/servo/issues/2650
auto merge of #2652 : saneyuki/servo/root, r=jdm

fix #2650
Use Cell for Reflector::object.
Remove Reflectable::mut_reflector.
auto merge of #2654 : Ms2ger/servo/reflector-cell, r=jdm
Add the design document about JS-managed DOM.
fixup! Add the design document about JS-managed DOM.