findByName compares the name of every widget in the tree, and the tree holds
some eight and a half thousand after FrameXML loads. Ids are stable, so the
lookup is kept and reused; the name is still checked each frame because
reloading the interface rebuilds the tree and an id could then belong to
something else.