These changes alter most usages of property assign to retain. The
reason for this is that in Scratch.app we actually
terminate the Squeak VM and release the SqueakApplication. Thus the
proper pattern of allocate, retain, release has to be followed. This
was glossed over in the earlier code base because it would never
actually free the SqueakApplication...
This makes error recovery interesting, get a Smalltalk walkback, grab
the error report (expanded), attach to the email api, put up the email
dialog. When completed, terminate the VM thread, clean the screen,
free the Squeak app. Run applicationDidLaunch: again, and Scratch
loses it's mind...