clutter: Avoid redundant margin changes [performance]
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 but also expensive since it
incurs full stage relayouts and reallocation. So just avoid redundant
margin changes.
Helps to further improve: #233 (closed), gnome-shell#349 (closed)
FIXME: This merged then got reverted. Needs a new MR.
Edited by Jeff Fortin