textiter: more generic implementation for "visible" funcs

For gtk_text_iter_forward_visible_word_end(),
backward_visible_word_start() etc, use a more generic implementation
that is based on other public functions.

The purpose is to make gtk_text_iter_forward_word_end() and
gtk_text_iter_backward_word_start() overridable, all the other
word-related GtkTextIter functions should be based on them.

For the cursor_position functions the change is not really needed, but
for code simplification it's better to keep only move_iter_visible().

The unit tests have already a good code coverage for this code, and
there is no regressions.
textiter: more generic implementation for starts/ends/inside word

To use only gtk_text_iter_forward_word_end() and backward_word_start()
which will be overridable.
textiter: set/get boundary type

This way, all the words/sentences-related GtkTextIter functions can be
reused for the custom word boundaries, and still be able to use the
Pango boundaries for spell checkers.

This commit is just an idea, it's far from finished.

https://bugzilla.gnome.org/show_bug.cgi?id=562767
Add GtkTextBuffer::move_iter vfunc