libview: relaoding a page if possible

Implementing a function that calls
ev_pixbuf_cache_reload_page_if_possible, that
will only reload a page if there is no other
page reloading job running.
pdf: saving quadrilaterals

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

Depends on poppler implementation of
poppler_page_get_bbox_for_quadrilaterals.

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)
button release -> save annotation (save bounding
box in the annotation mapping)

The bounding box on the third step is obtained via
poppler (poppler_annot_get_rectangle), but I am
not sure this rectangle is updated as the
annotation grows with more quadrilaterals... I am
afraid not.
The responsibility of updating the quadrilaterals
and saving the bounding box to the mapping are all
of the back-end, which in turn uses poppler
functions. Ev-view's only task is to compute a doc
rectangle to pass as an argument to the back-end
functions.
view: removing popup from highlight annotations
shell: adding button to add highlight annotation
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: 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).
pdf: implemented is_xy_in_annotation

Implements the function that checks whether a point
(x,y) is inside an annotation.
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: setting opacity of markup annotations
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.
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.