clutter: Avoid redundant margin changes

When profiling gnome-shell it was found that one of the main triggers
of `clutter_actor_queue_relayout` during animations was
`clutter_actor_set_margin_internal` continuously setting the same
zero margins. That's obviously pointless and also expensive. So just
avoid redundant margin changes.

This helps to further improve performance in:
GNOME/mutter#233,
GNOME/gnome-shell#349

This change previously landed as 59acb389 and then got reverted because
it was found to make gnome-shell#517 worse. However that bug now has a
proper fix and this branch isn't really directly related so is being
reproposed...
2 jobs for avoid-pointless-margin-changes in 4 minutes and 19 seconds (queued for 1 second)
Status Job ID Name Coverage
  Build
passed #200329
build-mutter

00:01:14

 
  Test
passed #200330
test-mutter

00:03:05