docs: add (nullable) annotations to many return values

These are just for functions which mention %NULL in the Returns:
section, as well as methods which were previously marked as nullable
in the Vala bindings.
Adapt to Gtk method signature change
Replace gtk_source_encoding_foreach() by get_all()

The API is smaller, GtkSourceEncodingForeachFunc is not needed, and
having a GSList is more convenient in C than defining a callback. The
callback takes a user_data argument, so the needed local variables must
be packed in a struct, which is less convenient if those variables are
not already in the Private struct.

A GSList has been chosen, because
gtk_source_file_loader_set_candidate_encodings() takes also a GSList.
Various small code clean-ups
classic style scheme: set line-numbers background color
Apply line-numbers style in GtkSourceGutter

The line-numbers style was applied to the whole GtkTextView widget with
gtk_widget_override_color() and gtk_widget_override_background_color().
It worked because the 'text' style is also applied to the main
GtkTextView region with CSS, which seems to override the colors set with
gtk_widget_override_color() and gtk_widget_override_background_color().

Now the line-numbers style is applied directly in GtkSourceGutter, which
is more logical.

If a style scheme wanted to define 'line-numbers' without defining
'text', it didn't work. Now it works, and it'll be used for classic and
tango (which don't define the 'text' style).

https://bugzilla.gnome.org/show_bug.cgi?id=733606