tab-view: keep view alive during ::page-detached
A signal handler may decide to close the host window, which can
apparently result in the view being finalised before control returns to
detach_page
, resulting in self->pages
pointing to garbage (even when
it had previously been NULL)
Avoid this situation by holding self
alive during the function