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.
Adds rotation.svg asset

This adds a magnifying glass icon from The Noun Project
(http://thenounproject.com/) which is licensed under the creative
commons license (CC-BY 3.0) with an exception that that attribution is
not required because we purchased the attribution waiver.

Since it might be nice to attribute anyway at some point, then for
future reference this was the suggested attribution text:

Andrew Kelly, from The Noun Project
Adds some new icon assets
engine: hook the search toggles up

This makes the interactive toggles for refining searches work
number-slider: don't "handle" mouse down during grab

A mouse down event outside a slider while it has a grab results in the
current value being committed, but we no longer report the event as
_HANDLED because that blocks the down event being delivered to another
widget to start a new grab on a different slider for example.
timeline: Adds _get_loop_enabled api
rut-model: Adds missing _get_asset prototype
drop-down: clear layouts before updating n_values

This makes sure to clear the layouts associated with a drop-down before
updating ::n_values otherwise we might end up trying to free more or
less layouts than we should.
bin: Adds _get_child() api
graphable: Adds a few utilities for querying children

This adds rut_graphable_first() and rut_graphable_nth() apis for
querying the first and nth child respectively of a given parent
graphable.
entity: consistently use stdbool type

This uses the bool type instead of CoglBool and gboolean