GtkSourceIter, the come back

Add GtkTextIter functions to implement custom word boundaries. It'll be
used in gtksourceview.c. It's better to have a separate file with those
functions so the file can easily be copied in applications, for example
gnome-builder (to implement word movements for the Vim mode). It maybe
makes sense to publish those functions as public, but as a first step
let's keep that private.
view: override GtkTextView::extend-selection

To use our custom word boundaries.
view: implement smart home/end in separate function

So that the overridden move-cursor signal will be clearer when more
movement types are overridden (like word boundaries).
view: override word boundaries for GtkTextView::move-cursor