##
6.19.2 Panel Objects

Panel objects, as returned by `new_panel()` above, are windows with a stacking order. There's always a window associated with a panel which determines the content, while the panel methods are responsible for the window's depth in the panel stack.

Panel objects have the following methods:

`above`( | )

  Returns the panel above the current panel.

`below`( | )

  Returns the panel below the current panel.

`bottom`( | )

  Push the panel to the bottom of the stack.

`hidden`( | )

  Returns true if the panel is hidden (not visible), false otherwise.

`hide`( | )

  Hide the panel. This does not delete the object, it just makes the window on screen invisible.

`move`( | y, x)

  Move the panel to the screen coordinates `(y, x)`.

`replace`( | win)

  Change the window associated with the panel to the window win.

`set_userptr`( | obj)

  Set the panel's user pointer to obj. This is used to associate an arbitrary piece of data with the panel, and can be any Python object.

`show`( | )

  Display the panel (which might have been hidden).

`top`( | )

  Push panel to the top of the stack.

`userptr`( | )

  Returns the user pointer for the panel. This might be any Python object.

`window`( | )

  Returns the window object associated with the panel.