CompletionWords: get_word_at_iter(): work on strings

Before this commit, get_word_at_iter() used GtkTextIter to traverse the
buffer char by char, to find the word boundaries.

Now, the text of the line at the iter is retrieved, and the traversal is
done directly on the string. The code is simpler.

It is maybe less efficient, but the performances here are not really
important (it's at most one line of text).

The parsing of the buffer to fill the words library is still done
entirely with GtkTextIters. It is planned to parse the buffer line by
line, by retrieving the text of the buffer and by working on strings.
In this case, the performances are more important, and working on
strings will be more efficient.

So the idea is to work everywhere on strings instead of working with
GtkTextIters, to be consistent.
CompletionWords buffer: work with strings for scanning the words

Instead of working with GtkTextIters. It normally improves the
performances. And the code is well documented, so it should be easier to
understand in the future.
CompletionWords buffer: use a GtkTextRegion

For scanning the words in the buffer.

There is a problem with empty regions in the GtkTextRegion, due to left
and right gravity of the GtkTextMarks (if text is inserted inside the
region, the region is no longer empty).
CompletionWords buffer: some debug messages