Express AST nodes as extensions of a new ASTNode class.

 - ResultNode::getChildren() was made more generic.
 - ResultNode will probably removed when this becomes the main renderer.
 - All AST classes are now shorter - which is a Good Thing(tm)
 - The CSS_CLASS_ATTR property was brought into the new ASTNode, to
   produce output more consistent with the old renderer.