Reorder and comment "buffer" procedure.

Do work (adding and removing nodes) in the backbuffer when it is
not displayed, and only display a filled buffer.
Automatically adjust the height of the menu.

This is a problem for absolutely positioned elements since the
height must be calculated dynamically after the block is already
populated.

I have added a jitter-protection measurement for when the menu size
changes by only a small amount (which we can change).  It may not
be noticeable to you yet, but I have some debuggery below the menu,
and it constantly moving is a bit of an eyesore, and I imagine it
would be for users of this widget, too.