fix: image-source: hide gstreamer from renderers
drop-down: don't lookup layout before _ensure_layouts()

This updates rut_drop_down_paint_button() to only lookup the layout
after calling rut_drop_down_ensure_layouts() otherwise we can crash
dereferencing a NULL layout pointer.
fold: expose label property

This exposes the internal properties of a RutFold and api for setting
the label of a fold.
toggle: follow consistent _init_type pattern

This updates the coding style in rut-toggle.c to follow the same style
as other code for declaring the interfaces of a RutType
fold: make into composite sizable

This makes RutFold in to a composite sizable which simplifies the code
shim: allow only shimming a single axis

A RutShim is a way of forcibly taking up a fixed space and also forcing
a child to fit in that space. This allows us to control which axis will
have a fixed size so we can allow the un-constrained axis to be
negotiated via the get_preferred_/width/height apis.

By default both the x and y axis will be fixed
timeline: Add api to change the length

This exposes an introspectable property for the length of a timeline and
apis to get and set the length.
text: remove input region if non-selectable/editable

The remove the input_region of a RutText from the scenegraph if we know
it's not editable or selectable so that it doesn't inadvertently block
other input events. Even though the handlers would report that the
event was _UNHANDLED we would then traverse up the scenegraph for
fallback handlers which can change where the event would otherwise be
delivered.
box: assert the _add_child api is used with a RutBoxLayout

Since it's an easy mistake to make when re-factoring code, we explicitly
check that the rut_box_layout_add_child api is being passed a
RutBoxLayout widget.
property: do a copy when setting a copy binding

When setting up a binding that will always copy the value of one
property to another whenever it changes we now also make sure to trigger
an immediate copy to initialize the target property.
Adds a new RutScale widget

This adds a new RutScale widget that can show a horizontal scale with a
given length. The widget currently support scaling and panning and
specifying a focus offset.
object: Adds utilities for allocating objects

This adds _rut_object_alloc[0] functions for slice allocating an object
and calling rut_object_init(). This api will also verify that a given
RutType has been initialized and if not will call a given function to
initialize the type first. This will let us remove a good amount of of
boilerplate from the many objects we define in Rut/Rig.
interfaces: Adds rut_type_add_refable convenience

This adds a convenience macro for making a RutType support ref-counting
property: Adds api to bind properties with scalar cast

This adds a rut_property_set_cast_scalar_binding() function that lets us
bind two properties together so whenever a source property is changed
it's value gets set on a target property like
rut_property_set_copy_binding() but with the ability to cast scalar
values between different types.
icon-button: simplify the code

This removes a lot of boilerplate from the rut-icon-button
implementation by using the COMPOSITE_SIZABLE interface, using
rut_type_add_refable and rut_object_alloc0
Adds an IconToggle widget

This adds a new toggle widget that has no label and simply has two icons
to represent the 'set' and 'unset' states.
fold: include required headers
box-layout: various minor cleanups

This updates the code to use bool instead of CoglBool, to remove the
need for a RUT_BOX_LAYOUT macro and avoid including rut.h in favour of
including only the specific headers that are required.
property: use bool instead of CoglBool for booleans

This updates the getter/setter prototypes to use bool instead of
CoglBool for boolean Rut properties.
Adds a RutIconToggleSet widget

This adds a new widget for tracking a set of toggle icons where only one
toggle in the set can be set at any one time. This can be used for
selecting tools for example where only one tool can be in use at a time.