gtkwindow: Use actions from focused widget to activate accel

Currently we only take into account the window GActionGroup for
activating the accels.

However, the application could have some custom GActionGroup in the
chain of focused widgets that could want to activate some action if
some accel is activated while that widget is focused.

To allow applications to set accels on widgets that use custom
GActionGroups, simply use the muxer of the focused widget, which
already contains the actions of the parents.

https://bugzilla.gnome.org/show_bug.cgi?id=740682
window: fallback to window muxer if no widget has focus

This ensures that we can still match accelerators for the window even
if no widget currently has focus.
Don't compare booleans

Just use negation.
Make gtk_tree_model_foreach robust

Make gtk_tree_model_foreach safe for callbacks that modify
the model, even if the model does not have persistent iters.

https://bugzilla.gnome.org/show_bug.cgi?id=722781
inspector: Reindent ui file
inspector: Another indentation fix
inspector: Allow extensions to request a picker

Look for a 'use-picker' property on the extension page
and add a picker button to the header bar if says so.
inspector: Don't force-switch to the objects tab

We used to switch to the objects tab when an object is
picked, but now may have two places with picker buttons:
the objects tab and the interactive tab.

So, just don't do that anymore.
GtkStackSwitcher: Don't take focus on click

Moving the focus to the stack switcher buttons is
never what is wanted here.
cssselector: Inline a function
cssselector: Introduce a hash func per selector

This is unnecessary itself, but useful in preparation for further
commits.
cssselector: Turn into a union

Instead of just keeping a gpointer data, make GtkCssSelector a union
that has actual proper members.
cssselector: Handle region flags during parse

When parsing a selector like
  tab:active
We used to create 2 selector objects, one for the region, and one for
the pseudoclass. Now, for convenience, we special-case region
pseudoclass parsing so that the active flag is added to the region
selector.

A side effect is that ":nth-child(1)" no longer works for regions.
Hopefully people didn't use this but used the saner ":first-child"
instead.
cssselector: Use simple macro for position pseudoclass

This is possible now that the region-specific code is gone.
cssselector: Support :not() for position pseudoclasses

This is simple now that the latest commit used the macro and
autogenerates the SelectorClass to use.
cssselector: Introduce descendant matcher for regions

This is just a way to handle regions more conveniently. What this does
is to change the descendant matcher into a maybe-descendant matcher
whenever the current object we're parsing might be a region. Because "*"
might also refer to a region and not just a new element.

See testsuite/reftests/css-match-region-matches-star.ui for a testcase.
cssselector: Use simple class macro for * selector

As a side effect, the :not(*) selector needs to be renamed because the
macro chooses a different name for it.
cssselector: Handle region selector like any selector

Instead of doing the previous match magic itself, use the
DESCENDANT_FOR_REGION hack and let that one do the magic.
cssselector: Remove unused variable

The variable is FALSE for every class now.
cssselector: Make specificity handling a vfunc

The new region selector tracks more than just one soimple selector, so
it requires some more advanced specificity tracking.

Technically, this is still not correct, because it will report the same
specificity for
  tab:sorted
and
  tab:sorted:sorted
(and the second selector will be printed as the first) but this is
regions, so meh.