bind-constraint: Don't update preferred size if source is our parent

The ClutterBindConstraint will change the preferred size an actor
reports so it returns the same size as the source actor in some cases.
This behavior was introduced recently with
4f8e518d.

This can lead to infinite loops in case the source actor is a parent of
the actor the BindConstraint is attached to, because calling
get_preferred_size() on the source will recursively call
get_preferred_size() on the actor again.

So avoid those loops and check if the source is a parent of the actor
we're attached to and don't update the preferred size in that case.

GNOME/mutter!1282
6 jobs for !1282 with clutter-bind-constraint-fix in 9 minutes and 27 seconds (queued for 1 second)
detached
Status Job ID Name Coverage
  Review
passed #747871
check-commit-log

00:00:39

 
  Build
passed #747872
build-mutter

00:03:51

passed #747874
build-without-native-backend-and-wayland

00:02:48

passed #747873
build-without-opengl-and-glx

00:03:26

 
  Test
passed #747876
can-build-gnome-shell

00:03:14

passed #747875
test-mutter

00:04:57