added test for running a terminal in an edge window

causes an error in the screen module:
  the code that attempts to create a terminal on the
  top edge of the screen boxes the actual window
  and derives a subwindow for the terminal. when
  the screen module tries to resize everything and
  reallocate all the edge windows it is unable to
  destroy the window because the derived window
  must be destroyed first.

  this problem will be fixed by the implementation of
  a callback which is invoked when an edge window is
  about to be deleted.
implemented win_alloc callback for when the window is destroyed

allows the plugin the chance to clean up any resources associated
with that window (e.g. derived windows).