pdf: adding highlight annotation to poppler

Saves evince annotation highlight in poppler.

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
pixbuf-cache: reloading page if possible

Adding a function that only creates a job for
reloading a page if another job does not already
exist. If there is already such a job, the
creation is aborted.
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
libview: fixing memory leak

The memory leak was caused by a g_signal_connect
which was never disconnected. This patch makes
sure the signal is disconnected and the job is
cancelled before creating another rendering job.