clutter: Avoid redundant margin changes
When profiling gnome-shell it was found that one of the main triggers
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 change previously landed as 59acb389 and then got reverted because it was found to make gnome-shell#517 (closed) worse. However that bug now has a proper fix and this branch isn't really directly related so is being reproposed...
Formerly known as !305 (merged).