wayland: Unlink surface listener when freeing token
If the token ended up consumed and freed, we might leave a dangling destroy listener after freeing the token struct.
If the token ended up consumed and freed, we might leave a dangling destroy listener after freeing the token struct.