Statically link Rut and don't install the headers

For now, Rut is an entirely internal library and shouldn't really be
used outside of Rig. For that reason we might as well make the install
simpler by statically linking the library and not bothering to install
the headers.
data: Add the data files to the dist

The files in the data/ directory were not being included in the
distribution so it make distcheck was failing.
build: Remove rig-types-private.h

This header does not exist but was listed in the sources which was
breaking make distcheck
Add some missing headers to the dist

Some headers were missing from the list of source files so make
distcheck was failing.
Don't try to dist the non-existant .pc file

The Makefile for Rut mentioned a .pc file but this is never generated
and the .pc.in file does not exist in the git repo so make distcheck
was failing. This just removes all mention of it.
Add bump-map-gen to .gitignore
Bail out if no filename argument is given

If no filename argument is given then Rig would previously crash
because nothing would set an assets directory. The rest of the code
assumes there is always an assets directory. Using Rig without a
filename is currently not useful because there would be no way to save
the created transition so we might as well just bail out in that case.

This patch also changes it to use a global variable to specify the
filename instead of always reading from _rig_handset_remaining_args.
This should make it slightly easier to maintain if we ever want to
change were it gets the filename from.
Don't use g_error to report user errors

g_error() terminates abnormally with abort() and dumps a core. It's
probably only meant to be used for program errors so we shouldn't use
it for user errors.
Reload animated properties in inspector when the timeline is scrubbed

When the timeline position is moved Rig will now iterate over all
animated properties in the current transition and update the inspector
for them. This makes it easier to see how the animations affect the
properties.
Create an initial node when a property is first animated

When a property is marked as animated and its path is empty (ie, this
is probably the first time it has been animated) then Rig will now
create an initial path node at the current transition progress with
the property's current value. The new path node is logged within the
same entry in the undo journal so that a single undo operation will
both remove the initial node and unmark the property as animated.
Fix undoing a constant property change

When a constant value is modified on the transition and then later
undone, it was only setting the object's current value and not
actually modifying the transition. This fixes it to update the
constant value and then ask the transition to update the object's
value based on the new transition value.
Reload properties in the inspector after undoing

There is now a global function to reload the inspector data for a
given property. The undo journal now uses this whenever it modifies a
property. Otherwise it is difficult to see what happens when an undo
operation is performed.
Fix a warning about using = instead of ==

The code to handle input for an asset has a variable to report whether
the event was handled or not. Part of the code was trying to check
this value to decide whether to queue a redraw or not. However, it was
assiging the value instead of checking it which would mean it would
always swallow all the events and always queue a redraw.

I'm not exactly sure if there are any bugs caused by always swallowing
the events but it seems worth cleaning up anyway.
Pregenerate the snippets used for entity pipelines

When creating a pipeline for an entity, it would previously always
allocate some new snippets and attach them to the pipeline. The
program cache in Cogl never looks at the contents of a snippet but
instead only compares the snippet pointers. This meant that each
entity would end up with its own program, even if it is using exactly
the same shader as another entity. This would quickly end up
generating a warning from Cogl complaining that there are more than 50
programs.

To fix this, the renderer code now generates all of the snippets that
it is going to use upfront and attaches them to the RigData struct.
The exact same snippets are attached to all pipelines so they can
easily be reused.

The renderer also uses some other snippets that I haven't touched
because they are already attached to a template pipeline and only
created once.