gui no longer accesses exil::*current-environment*, instead it
  keeps reference to environment which it was created for
  this way separate environments can have separate guis
  (which can even run simultaneously)
  environment also keeps track of the gui, because it has to notify
  it about changes
show-gui now takes optional argument - name of the environment
  and calls new function exil:genenv, which by default returns
  current environment
the gui instance is created by defenv and stored in the new environment,
  show-gui only displays it, so there can be only one gui for each
  environment
methods changing environment slots watched by gui now call
  (notify env) which is the only place, where exil-gui:update-lists
  is called (thus easy to change in future)
integration test no longer access exil::*current-environment*
  instead they call defenv, setenv and getenv
gui mostly rewritten
default environment is now created in load(-manual), after loading
  the project (not in fe-base during the compilation)
added missing generic definitions