I went ahead and implemented the idle callback rendering of icons.
This should make the menus much more responsive the first time they
pop up. I think it's pretty solid as far as being defensive about the
state before it tries anything, and drops off the idle list once
pending things are complete.