menu_attach() shouldn't need three flag values.  I think it'd be simpler
if the first value only meant "set" if nonzero, "get" if zero.  That way,
if you "set" the menu to a NULL pointer, it gets removed.

I was confused by the menu_istart() documentation.  It took me a few reads
through it to figure out just what the parameters mean. (Is me_tree the
main menu tree or the tree where the submenu lives?  Is me_imenu the
item in the main menu with a submenu attached, or is it the root object
of the submenu tree?)

wind_get() could allow WF_NAME and WF_INFO; it could copy the strings
to the string pointer supplied by the caller.

I couldn't find the return values for shel_write modes 4 (shutdown),
5 (change res), 7 (broadcast), 8 (add/remove string), 9 or 10 in AES.DOC.

wind_get(WF_NEWDESK,...) should return the root object of the tree
in int_out[3].
