pdf: saving evince highlight annotation to poppler

Creates a poppler highlight annotation from evince's
highlight annotation.

Depends on poppler patch that implements
poppler_page_get_quadrilaterals_for_area.
view: preparing for interactive annotations

Added a struct to the view that holds start and
end points of annotations in order to support
'click and drag' annotations. Changed the creation
point from button_release to button_press.
Defining annotation icon size
pdf: support for saving quadrilaterals

Adding back-end support for updating the region
covered by text markup annotations in poppler.

NOTE:
This is implemented with the following in
mind: when adding a text markup annotation,
everytime the cursor moves, the annotation area is
updated and therefore the annotation
quadrilaterals should also be updated. This is
done when the function
'ev_document_annotation_save_annotation' is
called.

I could think of two ways to pass the new selected
rectangle to this function, either as a parameter
of the function or as a property of the text
markup annotation.
The first solution is implemented in this patch,
and it is in conformity with
'ev_document_annotation_add_annotation', which
also takes an EvRectangle as a parameter.
I don't like the fact that the other function
calls pass NULL for the rectangle, but oh well,
life is not perfect. Had I kept this rectangle as
a property of the annotation, it would only be
useful during the interaction when creating the
annotation. Actually, it would make sense if we
were able to edit the annotation (increase or
decrease it), but this does not seem to be the case.
view: support for adding highlight annotations

The interaction in ev-view can be summarized as:
* button_press -> create annotation
* motion_notify -> save annotation (update
quadrilaterals and rectangle in annotation
mapping)
* button_release -> back to normal mode
document: ev_mapping_list_get_all

Implements a function that returns all EvMappings
at a certain point. Needed for annotations
(especially text markups), whose bounding boxes
might overlap.
libdocument, pdf: adding method is_xy_in_annotation

Added the method is_xy_in_annotation to the
interface of document-annotations. It intends to
check if a point (x,y) is inside the annotation's
quadrilaterals (and not its bounding box, which
can be checked using the EvMapping).
Also implements the function in the pdf back-end.
libview: checking if point is inside annotation

Added a step to check if a point is inside an
annotation. In case it is foud to be inside the
bounding box, view asks the document if it is
actually inside the annotations, since the
quadrilaterals might not comprise the whole are of
the bounding box. Only then it become selectable.
libview: Track page of the annot being added

Currently we assume that the annot is added to the current_page.
This is not necessarilly true with dual or continuous modes.
Thus, we track the page in the ActiveAnnotInfo struct.
libdocument: Add DocumentAnnotationsRenderAnnotation
pdf: implement render_annotation
libview: Use DocumentsAnnotations to render annotations animation

When creating an annotation that needs drag mode, we need to render
the annotation being created fast so we can have a smooth animation.
We take advantange of new API in poppler that allows for this.
shell: adding button to add highlight annotation