Avoid memory leaks during refresh - DO NOT MERGE

This is intended to get some discussion around a solution for memory leaks around elements that are removed during a refresh (http://bugs.jqueryui.com/ticket/10056).

Unfortunately, I don't think there's a general solution we can apply. Every widget that handles a refresh will need to manually track the removed elements and pass them to `._off()`.
This actually shouldn't be too hard to manage, since we're already tracking the elements in each widget. We can either have a conditional like this or initialize all the properties to empty jQuery objects to avoid calling `.not()` on `undefined`. We'll just need to go through every widget and make sure we're doing this.