This is for greater control of the spin viewer window destruction. First the methods registered
with the observer objects are unregistered, then the children of the spin viewer window are
destroyed, and finally the main spin viewer window is destroyed. This change saves a lot of GUI
resources in the GUI tests (there is a large reduction in 'User Objects' and 'GDI Objects' used on
MS Windows systems, hence an equivalent resource reduction on other operating systems).