handle destroying widgets in thunks

* fix airgap for hasWidgets so that it's set on the parent of thunks if
  needed
* handle thunks when identifying widgets to be destroyed
this change is about handling thunks first so that a sub-patch is added for an `a` thunk even when `b` is `null`.  your change to handle thunks in `destroyWidgets` makes this change moot but i'd favor going with this patch since it is likely to catch any future differences needed to remove thunks compared to vnodes - `VPatch.THUNK` abstracts that away for us.