GtkSpinButton: Only notify 'adjustment' if the property changed

https://bugzilla.gnome.org/show_bug.cgi?id=734649
widget: Include event controllers' event mask on gtk_widget_get_events()

gtk_widget_get_events() must indeed tell about events enabled purely through
a GtkEventController, those events will most surely trigger event handlers.

https://bugzilla.gnome.org/show_bug.cgi?id=734357
stack: Ensure the bin window has an evmask suitable to windowless children

If a child has set_has_window == FALSE, it purely relies on the events set on
the parent window, for which the bin window used to just ensure the exposure
mask, eating all input events.

https://bugzilla.gnome.org/show_bug.cgi?id=734357
GtkIconHelper: Short circuit _gtk_icon_helper_get_size in some cases

_gtk_icon_helper_get_size() is often used during size request and may
not necessary mean that the icon will be displayed immediately. In
many common cases we know the size without having to ensure a surface.
In many cases this means we can avoid loading an icon until needed, and
in the case of stateless IconHelpers such as GtkCellRendererPixbuf this
is very important as otherwise it will constantly be reloading icons
if the displayed set is larger than the in-memory icon cache.

https://bugzilla.gnome.org/show_bug.cgi?id=734651
Change way alpha is used when recoloring symbolics

If the foreground color has an alpha != 1 we used to just pass that into
the svg. This is useful to e.g. render an insensitive icon. However,
that is not an ideal model for symbolics. For instance, if the icon uses
overlapping areas when drawing, expecting these to be opaque then the
transparent color will result in a different alpha value for the overlapping
area. Also, non-foreground symbolic colors are still rendered opaque, and
the recoloring of pngs can't handle transparent colors.

So, instead we extract any alpha from the foreground, render using the
opaque colors and then apply the foreground alpha to the entire result.
This means we get an even transparency, even for other colors, and we
can apply alpha for the pngs too.

https://bugzilla.gnome.org/show_bug.cgi?id=734668
Fix symbolic-icon-translucent-color reftest

When using the pre-rendered png symbolics it seems that we're off a
tiny bit in a few of the pixels on the antialiased borders of a
stroke. To fix this we switch the icon to media-playback-stop-symbolic
which has no such antialiased borders.

I don't quite understand why the pixels are off, this needs more
research.

https://bugzilla.gnome.org/show_bug.cgi?id=734668
wayland: Initialize cursor cache earlier

Without this, I was getting a crash because the theme change
function was trying to iterate over the hash table before
it was created.
widget-factory: Don't use rules-hint
widget-factory: Make dialogs non-resizable

They have no reason to be.
widget-factory: Add a flowbox example

This is now really polished yet, but will let us work towards
'responsive grid'.
widget-factory: Improve the flow box example

Make the selection actually do something. This is also an opportunity
to test the new draw-layer vfunc in GtkTextView.
widget-factory: Don't say 'Etched out' twice

There's no difference between these shadow types anymore, but
it is irritating to see the same label twice.
Adwaita: widget edge for inline toolbars
GtkTextView: Change draw_layer signature

Vfuncs should really take 'this' of the right type - the type
that the vfunc is added in.
GtkTextView: Preserve the cairo context around draw_layer

Otherwise, draw_layer might unintentionally wreak havoc on the
regular drawing that happens between the two draw_layer calls.
widget-factory: Add a missing style class

Unfortunately, constructing image-only buttons by just adding
the image as a child does not give us the image-button style
class. Add it manually.
widget-factory: Avoid a compiler warning

This is adjusting to the draw_layer signature change.
GtkPathBar: Make recoloring symbolics work

We were only recreating the icons the very first time the theme
changed, and not every time as was intended.
GtkPathBar: Don't hardcode spacing in buttons

The theme will be changed to provide padding.
Adwaita: saner menubar