ev-window: add new gsetting to set the page cache size

https://bugzilla.gnome.org/show_bug.cgi?id=642683
libview: Initial implementation of caret navigation

Navigation by character, word, next/previous line and beginning/end of
the line using the caret cursor.

The routines to move the cursor don't use GtkTextBuffer to
avoid the duplication of the text for every page.
  - Left/right arrow: Move one character to the left/right.
  - Up/down arrow: Move up/down one line.
  - Ctrl + left/right arrow: Move to the beginning/end of
    the previous/next word.
  - Home/End: Move to the beginning/end of the current line.

https://bugzilla.gnome.org/show_bug.cgi?id=638905
libview: Fix warning on ev_view_document_changed_cb

There was an introduction of a warning when fixing the bug
https://bugzilla.gnome.org/show_bug.cgi?id=701302

If ev_view_document_changed_cb () is emitted when there
is no previous document, the check fails.

This patch change the order of the condition checks.
build: Correct glib dependency version

Evince already depends on gtk+ 3.8 which depends on glib 3.6.
shell: Remove obsolete g_type_init call
thumbnailer: Remove obsolete g_type_init call
libdocument: debug: Fix -Wstrict-prototypes warnings

Don't use old-style function declarations.
libdocument: Fix constness

ev-file-helpers.c:89:25: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
pdf: Fix critical warning for links with NULL action
properties: Use a vertical box instead of a vbox
shell: Use vertical boxes instead of vboxes
shell: sidebar: Expend the sidebar widgets

Need to set fill and expand explicitly for GtkBoxes.
Updated Galician translations
Updated Czech translation
libview: Add a way to get the text logical attributes from the page cache

It returns an array of PangoLogAttr with the logical attributes of the
text for the given page.
libview: Use logical attributes instead text layout to move the caret cursor