'Draw the node and its children to a layout
Draws this node to the given layout (presumably a TreeTab), starting
from a y-offset of `top` and at the given level.'

def draw(self, layout, top, level=0):

    self._children_top = top
    if self.expanded:
        for i in self.children:
            top = i.draw(layout, top, level)
    self._children_bot = top
    return top
