Frame::layout() drives everything now, it takes the DOM contained in the frame and puts it through the tree transformations.
We walk the entire DOM and check all selectors against all elements. Only id, class and tag name are checked right now. There's no ancestor stack or compound selectors. All in good time :^)