Fix seat client resource management
This makes seat_client resources inert when seats and/or input devices are destroyed, rather than destroying the resources.
When the client calls e.g. wl_keyboard_release(), it's not expecting the keyboard global to be already destroyed, so this results in an error such as this:
wl_display@1: error 0: invalid object 22
I ran into this problem when testing ext-transient-seat-v1.