setup interface when no ui has been loaded

in the case where no <project>.rig file has been loaded we weren't
calling rig_engine_update_ui and so we weren't listing the builtin
assets for example in the assets panel.
Adds initial script for building Linux binaries

Based on the build.sh script for building OSX binaries this adds a
similar script for building binaries on Linux.
Adds mime.xml and .desktop file and icon

This adds a xdg shared mime info description, an xdg .desktop file and
an icon so that we can register Rig as a program for opening *.rig
files.
fold: Adds rut_fold_add_header_child api

This adds api for being able to add custom widgits to the top right of a
fold widget. For example the intention is to use this for components
listed in the Rig properties panel to add a delete button so that
components can be removed from an entity.
engine: enable removing components interactively

This adds a delete icon to the component inspectors in the properties
panel so that you can interactively delete a component from an entity
and this also integrates as expected with the undo/redo journal.
property: remove source arg from RutBindingCallback

This removes the source_property argument from the RutBindingCallback
because it precludes us from deferring binding callbacks to the mainloop
as a way of avoiding redundant callbacks when properties have multiple
dependencies that all get updated together.
Allow tracking multiple RigTransitions

Firstly this gives transitions a name property so we will be able to
distinguish them in the editor. Transitions are now ref-counted and in
the undo journal we no longer assume there is only one transition at
engine->selected_transition and instead operations are either applied to
a specific transition or all current transitions are taken into account.
rename transition to controller

The name transition implies only the management of key frame animations
while the expectation is that we will also manage expression based
bindings under the same object.
avoid trying to update inspector in device mode

this adds a check in rig_engine_dirty_properties_menu to make sure we
don't try and update the inspector in device mode, to avoid crashing.