reload properly on a reinit.
Fix memory leaks (PUI doesn't make copies of lists, so we have to make our own copies and keep pointers to them). Adjust for new method names in NewGUI. Move the GUIInfo struct into the cxx file so that it's not part of the public interface.
simplify maintenance.