StyleScheme: invalidate the style context

Invalidate the GtkStyleContext when a GtkCssProvider is added or
removed. It is needed because the new style information is requested
immediately. See https://bugzilla.gnome.org/show_bug.cgi?id=708583
Style schemes: more visible right margin

The alpha for the foreground (the line) is 16%. The alpha for the
background (the area on the right of the line) is 6%. So for a light
style, dark colors must be set for the right margin. And for a dark
style, light colors must be set.

It's better to not adjust the alpha channel in the code. Maybe
third-party style schemes rely on these values.
SearchContext: weak ref to the buffer

The strong ref prevented the buffer from being finalized.
Now the search context has a weak ref to the buffer, and vice versa.

Due to the weak ref, we now have to keep a reference to the tag table,
to be able to remove the found_tag in dispose(). A tag table can be used
for several buffers.

To create a search context, we have to call
gtk_source_search_context_new(), and pass the buffer as an argument.
Another possibility would have been:
- gtk_source_buffer_create_search_context()
- gtk_source_buffer_remove_search_context()
In this case, the buffer can have a strong ref to the search context,
since the search context is explicitely removed from the buffer. But
it's too late for doing that, we have to live with the current API.
textregion: weak ref to the buffer

If the buffer is finalized while the text region is still alive, bad
things happen.
Remove second parameter of gtk_text_region_destroy()

It was a boolean to know if the marks owned by the GtkTextRegion must be
removed from the buffer. In every case we want to remove the marks,
except when the buffer is already finalized, in which case FALSE is
passed as the second parameter.

But now GtkTextRegion has a weak ref to the buffer, so the destroy
function knows when the buffer is finalized.
Completion: do not show "All" when only one provider

In the bottom bar of the completion window, at the right of the Details
button, there is an icon and a label to show on which provider we are.
When there is only one provider, all the proposals are shown. Displaying
the "All" label in this case is useless, and users don't know what it
means. So it's better to display nothing in this case.
Pixbuf helper: fix set_icon_name()
GutterRendererPixbuf: add missing (allow-none) GI annotations

Thanks to Kai Willadsen for the bug report.