demo: avoid GtkAlignment in cpml-demo

A similar result can be achieved by leveraging the padding property of
the children.
cpml: avoid division by 0 in baioca

When the discriminant is 0, fallbacks in using the handcraft algorithm.
cpml: split the geometrical offset algorithm

This algorithm was previously embedded in handcraft. Made it a separate
function that can be used as standard offset algorithm. Also, provided
overview documentation of the various algorithm types.
cpml: clean up offset code and doc

Correct the description of the handcraft algorithm and cleaned up some
code.
doc: add some missing vector notation to BAIOCA
cpml: correct handcraft description
doc: correct hodograph in BAIOCA

This does not change anything in the algorithm because the error was not
propagated.
build: correct dependencies
adg: merge AdgGtkArea gtk2/gtk3 versions

The codebase differences between the two versions were too few to
justify a split in the source code.
doc: unfinished SAIOT documentation

A new algorithm that tries to address the shortcomings of BAIOCA.
adg: merge AdgGtkLayout gtk2/gtk3 versions

The codebase differences between the two versions were too few to
justify a split in the source code.
adg: correct adg_canvas_autoscale() bug

The above method manually call the arrange() virtual method instead of
emitting the "arrange" signal (it cannot, because it must skip the paper
entities). As a consecuence, the global matrix was not picked up.

Forced a global-changed signal before the arrange() calls.
doc: add Travis badge to README