glib-demo: Add annotations interactively

* Prepare UI to add multiple annotations type.
* Remove dialog and button add annotations.
glib: Add support for simple line annotations
glib: Add getter and setter for annotation's rectangle

Annotation objects contain at least two keys, Rect and Subtype.
The former has the coordinates where the annotation is placed.
The getter and setter allows to obtain and modify the position
of a given annotation.

Signed-off-by: Germán Poo-Caamaño <gpoo@gnome.org>
glib-demo: Add simple demo to add line annotations

Set the color before adding an annotation instead of assigning
one by default and allowing a later modification.
glib-demo: Simplify annotations list and its properties

* Move the annotation's rectangle to properties to make the
  list view of annotations cleaner.
* Remove duplicated information: flags and page are already
  present in the UI.
glib: Add implementation of Square and Circle annotations

Square and Circle only differ in the constructor which defines
the subtype.  Therefore, it uses the same name than Poppler's
Geometry class.
glib-demo: Add Square and Circle annotations demo
glib: Add PopplerQuadrilateral boxed type
glib: Add PopplerAnnotTextMarkup class and subtypes

The subtypes are: Highlihght, Squiggly, StrikeOut and Underline.
It adds convenient methods to set/get/free quadrilaterals
necessaries for TextMarkup annotations.
glib-demo: Add support for PopplerTextAnnotMarkup

* The subtypes are: Highlihght, Squiggly, StrikeOut and Underline.
* Use ScrolledWindow for annotation properties to make room to
  show the Quadrilaterals of TextMarkup annotations.
* Two implementations to add quadrilatelars: from cairo rectangles
   and from a list of rectangles.