Add scala.lang for Scala syntax highlighting

This file originated in the scala-dist project:

https://github.com/scala/scala-dist/tree/master/tool-support/src/gedit

It was written by

Min Huang <min.huang@alumni.usc.edu>
Felix Dietze <felix@beerleader.net>

with small fixes by

Anthony Kirby <anthony@anthony.org>
Adam Dingle <adam@yorba.org>

Originally the file was licensed under the Scala license:

https://github.com/scala/scala/blob/master/docs/LICENSE

All authors above have granted permission for relicensing under
the LGPL 2.1 or higher for inclusion in gtksourceview.
Updated Galician translations
Updated Spanish translation
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 there was maybe a bug with the previous code (warning messages).
CompletionWords buffer: use GtkTextRegion

For scanning the words (for the initial scan but also on text insertion
and text deletion), there is now a "scan region", a GtkTextRegion. It
simplifies the code for maintaining the GtkTextMarks.

For modifications on the buffer, there is now a callback before the
modification, to invalidate the region (remove the words that must be
removed), and a callback after the modification, to add the region to the
scan region. There were some problems when adding the region to the scan
region before the modification (text insertion or deletion).
CompletionWords buffer: add debug messages