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: #233 (closed), gnome-shell#349 (closed)
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).
Edited by Daniel van Vugt