[AdgAlignment] Implemented relevant alignment logic
Now the AdgAlignment container is working. The translation trick is
implemented in the "global-changed" signal handler: whenever a global
changed signal is caught, the default handler checks if the extents
are defined and applies a translation proportional to the provided
factors. The global matrix is changed BEFORE propagating the
global-changed signal to the childres, so they adjust their global
matrices accoringly. To update the position, a "global-matrix" signal is
emitted programmatically by the arrange() method after the extents
computation.
The main problem is the global matrix should be restored after the
alignment translation without reemitting the "global-changed" signal,
otherwise the children entities turn back to their usual position. To be
able to do that I had to access the private AdgEntity members directly
by including adg-entity-private.h.