initialize fontconfig and freetype
renderer: s/return/continue/ mistake
Fix problem with mapping and forwarding ops

Previously we weren't mapping the IDs of new objects, which made sense
considering we want to use those IDs to register the object and until
the object is registered then there's no way to map the ID.

The problem though is that in the editor we map operations from the edit
mode ui to the play mode ui and then forward edits to the simulator.

When mapping to the play mode ui the IDs correspond to edit mode objects
so when new play objects are registered we are able to associate them
with the corresponding edit mode object. When we were then forwarding to
the simulator though we still had edit mode IDs for those mapped play
mode operations which was resulting in duplicate IDs being sent to the
simulator.

This updates how operation mapping is handled so that we apply
operations at the same time which gives the mapping code an opportunity
to finish mapping an operation after it has been applied (and any new
objects have been registered with the current ID)
Add missing rut-adb.h
update osx build.sh
Only build abstract socket code on linux
osx: lots of misc build fixes
Allow running simulator in thread on OSX
Update to run with latest cogl supporting glsl >= 1.3
Add lots of android module patches
Add libuv dependency which we plan to use for mainloop
register IDs for scenegraph root
lots of build script updates
Add ulib C utility apis
Add u_array_get_element_size
Add u_array_sort()
Add u_strcmp0()
rename ulib to clib and re-namsepace to avoid libicu conflict
Update code to use clib utilities
Add initial RigText component

UI text used to be handled by RutText but now the aim is to handle
text rendering and layouting more directly in Rig.