[3.38] clutter/timeline: Clear stage view listener when actor destroyed
We might have a stage view listener attached to the stage itself if the actor didn't have a suitable frame clock when the actor was associated with the timeline. We'd then listen to stage-views-changed signals on the stage itself to be able to attach to a frame clock when one appeared.
What went wrong is that if an actor that didn't have a frameclock was associated with a timeline, but then destroyed, the timeline would disassociate itself from the actor, but it'd still listen on the stage-views-changed signal on the stage. This would be in itself harmless, until the timeline itself is destroyed, as at this point, it wouldn't clean up the stage-views-changed listener on the stage, as it's assumed to only be valid when there is an actor attached.
Fix this issue by cleaning up the stage's stage-views-changed listener when the actor is destroyed, as we wouldn't be able to make use of it by then anyway.
Closes: gnome-shell#3323 (closed)
(cherry picked from commit eaa98a7c)