function documentFragment(children, height, depth, maxFontSize) {
    this.children = children || [];
    this.height = height || 0;
    this.depth = depth || 0;
    this.maxFontSize = maxFontSize || 0;
}
This node represents a document fragment, which contains elements, but when
placed into the DOM doesn't have any representation itself. Thus, it only
contains children and doesn't have any HTML properties. It also keeps track
of a height, depth, and maxFontSize.