An open creates the window if needed, calls StrObjHook if supplied,
calls WindowHook, then requests a window below the Popobject at its
current width. A false StrObjHook result aborts this attempt but retains
an already-created window. WindowHook runs on every accepted open
attempt, not just initial creation. Its changes to left/top/width are
followed by the class's own settings. Actual Window_Open success is not
checked: popped becomes TRUE and the internal open hook returns one.
The queued close hook closes the retained window, clears popped and
calls ObjStrHook only for a nonzero result. Hide closes a popped window
only when Volatile; it preserves popped. Show reopens a remembered
closed window with Activate FALSE, without conversion/window hooks. Draw
implements Follow with ChangeWindowBox, preserving current height.