If the feedback is in our list of feedbacks disconnect signals
and drop the reference we hold.
As we have removed the signal handler that would invoke `check_ended()`
we invoke this manually when the list becomes empty.
When all feedbacks are done the event signals "feedbacks-ended" which
lets the manager dispose the feedback. When all feedbacks end instantly
and synchronously (as is the case with the dummy feedback) this triggers
the disposal of the event within the loop leading to a crash.
Make sure the object doesn't go away be referencing it during the loop
iteration.
We didn't see this before as glib's slice allocator for lists papered
over this for us.
Closes: https://source.puri.sm/Librem5/feedbackd/-/issues/69