To make sure I understand what's happening:

* If the class itself implements `-dealloc`, we're cool. We grab the original `-dealloc` and call that.
* If it doesn't, then we can't capture the original `-dealloc` at swizzle time since it could be changed later. So we need to call it dynamically.

Two things:
* Let's include a rough description like that in here.
* Why can't we just use `class_getInstanceMethod`/`method_getImplementation` in the new `-dealloc` instead of this `objc_msgSendSuper` mess?