adg-demo: handling bool and text entries

Data that can change the drawing include also non-numerical widgets.
adg-demo: added help dialog
adg-demo: handling bool and string also for setter
adg-demo: moved data into part.data

Collected part data on its own table, so operations to be applied on the
whole set of data can iterate over this table fields.
adg-demo: improved cache data generation
adg-demo: improved docs on regenerate()
adg-demo: cosmetic improvements
adg-demo: reordered fields to match adg-demo.c
piston: using cairo.Status instead of ti.int

Following what suggested in the pull request:
http://github.com/pavouk/lgi/pull/44