Refactor swt specs to use a shared context

This is a ginormous refactor of the SWT specs to use a shared context, as @jasonrclark suggested in #482. Specs are broken at almost every individual commit, so it might be best to squash this if we decide to merge it.

This is all a bunch of yak shaving, actually. I was trying to refactor some of the toggle code that looked like `@dsl.app.gui.real.disposed?` so that we had some better encapsulation, but that was hard to do because of the tests. So you will see some of that along the way--attempts to follow the [Law of Demeter](http://en.wikipedia.org/wiki/Law_of_Demeter). I also removed some unused references, particularly to `@container`.

I think this will make it much easier to understand the specs, and to change the code without spuriously breaking lots of specs. Thoughts?