Unify macros which generate binding codes.
Clean up macros to handle html tags.
CSS: separate cascading from selector matching, add style attributes.
Move the gfx::geometry module to servo_util::geometry.

This is part of #1006, in order to use Au from the script crate
without introducing a circular crate dependency.
CSS: Use the actual Au type for lengths
auto merge of #1074 : saneyuki/servo/macro, r=jdm
Move Element::get_attr to a trait defined in util::tree

… and add a get_local_name() method to that trait.
Add a with_imm_element_like() method.

… gives a generic element from a generic node.
Move AbastractNode::is_element to the TreeNodeRef trait.
CSS: Use libutil’s traits in Selector matching to not depend on libscript.
Failing for a blank line before the license, really?
auto merge of #1075 : SimonSapin/servo/newnewcss, r=kmcallister

I believe this is all the preparatory work discussed in #1006 and #1057: The new 'style' crate implements the whole style system (including parsing, matching and cascading) and only depends on cssparser and util, so that gfx, script and main can all depend on it.

Next: porting the layout code to this. (Really, this time! I think.)
Add the test about Element attributes.
Enable to update Element's attributes.
Implement Element.removeAttribute().