words-completion: avoid useless rescanning
words-completion: use G_SOURCE_REMOVE and G_SOURCE_CONTINUE

It's clearer.
words-completion: 'end' parameter for scan_line()

Currently the words are scanned line by line. The goal is to be able to
scan by words on text insertion and deletion. So a first step is to have
an 'end' iter for scan_line(), so it stops at @end.

Add also 'const' for some GtkTextIter parameters that are not modified.

This commit normally fixes:
https://bugzilla.gnome.org/show_bug.cgi?id=725729
words-completion: add 'const' for some GtkTextIter parameters
words-completion: work by words instead of lines

For example, if I insert a character in this line (at the cursor
position |):
word1 word2 | word3

Before this commit: before the text insertion, word1 word2 and word3 are
removed from the library. If these words are not present elsewhere in
the buffer, they are not available for completion when I insert the
text.

After this commit: instead of working line by line, the region to scan
(either for removing or adding words) is adjusted to word boundaries,
not line boundaries. So word1, word2 and word3 are available for
completion.