[AdgEntity] Implemented global and local maps
First step toward the new matrix management. The basic idea is similar
to the previous one, that is holding two different matrices to handle
model and paper spaces, but there are some notable differences.
- Map is now used instead of transformation: it is a lot shorter and
not so misleading (after all, affine transformation == affine map).
- The two matrices are now called "global" (instead of paper) and
"local" (instead of model). In my opinion the new names are a lot
better: "global" affects everything while "local" is supposed to
affect only something. What really means "local" should be entity
dependend, there could be something affected by "local" that it is
not a model and I don't want to lock the meaning.
- Above all, any entity (not only AdgContainer) will have its local
and global matrices. This allows to specify affine transformations
(such as translation or rotation) on an entity basis, so I can get
rid of the sucking AdgTranslatable and AdgRotable interfaces,
togheter with the dumb AdgPoint type. Matrices should be used
consistently for every transformation.