Make non-ASCII strings in ui files work

Our extractor tool was not calling setlocale(), thus it only
produced output in the C locale, ie ASCII. Oops.
Properly extract strings from gtkprintunixdialog.ui

Since 972136803aa4f83e7, gtkprintunixdialog.ui contains non-ASCII
in translatable strings. These were not properly extracted.
widget-factory: Add a scale button

Instead of two volume buttons, make the second one a scale button
and use microphones.
GtkSidebar: Fix a property type

The GtkSidebar:stack was meant to be an object property
of type GTK_TYPE_STACK. Make it so.
GtkSidebar: Don't use internal API

This makes it possible to copy the gtksidebar.c source into
other projects, for early adopters.
Trivial typography improvement

Use an em dash instead of -- in documentation.
GtkRadioButton: Allow setting group more than once

It turns out that GtkBuilder will sometimes set a property
twice. Normally, this is harmless, but for GtkRadioButton:group,
it triggered a critical. Remove that.
widget-factory: Add more buttons

Some more button variations, found in the wild.
Printing: Make the print dialog look better with bottom buttons

With buttons at the bottom, things were not looking good here:
no spacing, and a gray background. Add spacing, and put the buttons
on the white background.
tests: Add a test for a performance optimisation

text-shadow is too slow. Running this testcase reveals that.
image: Implement clipping support for icon-shadow

Testcase is attached.
css: Have finer-grained definitions for effects of CSS props

This adds the GtkCssAffects enum and implements it for all style
properties.
So far, this is not exposed outside of the implementation file.
css: Queue resize for properties that affect clip

This fixes shadows that are animated not updating the clip of the widget
they are drawn on. An example of this are the buttons in the CSS shadows
example in gtk-demo.

Reftest included
cssshadowvalue: Rename shadow_key to original_cr_key

shadow_key is a poor name for this, and we're going to add more user
data keys, so rename it to something more indicative of what it's used
for.
cssshadowvalue: Move the check for blurring into its own function

This makes it easier to update the check later.
stylecontext: Split render functions out into gtkrender.[ch]
themingengine: Move actual render functions to gtkrender.c

GtkThemingEngine just always calls
  gtk_do_render_foo(engine->priv->context, ...)
now. Other than that, the code is unchanged.
themingengine: Stop using it

Instead, call the default theme engine's code directly.
themingengine: Call real API render functions

No need to call the private versions anymore now that the real ones
don't call into the theming engine.
sidebar: Fix gcc warning