Hyena.Gui: Fix handling of StateFlags when rendering custom widgets

GTK+ 3.x has added several flags to the StateFlags enum, and some of
them after 3.0. Of particular interest is the "backdrop" flag which
indicated that the window does not have the focus, and is heavily used
by the Adwaita theme to "tone down" stuff in the background.

This means we shoud never blindly overwrite a StateFlag value. So we
need to merge the StateFlags we want to set with the ones currently
set. For example, the result then follows both the cell state, like
"selected", and the overall widget state, like "backdrop".

We also to make sure that, after any modification to StyleContext.State,
the previous value is restored, so that we don't mess up the rest of
the rendering.
ListView: Keep the "view" class for the complete rendering

We need to keep the "view" class for the whole ListView rendering,
because some styling might be applicable when rendering elements inside
the widget: headers, cells, etc.

This is the way the standard TreeView does it, it only removes the
"view" class for drawing sub-windows.
ListView: Use StyleContext.Save and Restore instead of RemoveRegion

It's clearer, and there's less risk of forgetting to reset something.
ListView: Refactor row selection rendering to use StyleContext.Render*

Use StyleContext.RenderBackground and RenderFrame with the proper class
and state to render selected rows.

This allows us to follow the GTK theme for selected rows, in particular
in the "backdrop" state, while getting rid of complicated Cairo code.

This removes the workaround for buggy themes, as we're not choosing the
color ourselves. But it should be OK, as the main culprit (Ambiance) was
fixed, and any similar problem that would now affect us would also
affect any custom treeview-like widget. So fix your themes !
Theming: Remove DrawListBackground methods

They are not used anymore, except in the Theme test module. Update that
test to use StyleContext, like the ListView does.
ListView: Fix column headers appearance during drag-and-drop

Just add the "dnd" class on the column header, and remove all the custom
drawing we were doing in that situation.

Sadly, this class is not applied with the Adwaita theme (see
bgo#731663), so we don't get the background gradient that's supposed
to be there. But I think it looks good enough, and better than what we
had before.