editor: init curses debugging
rig: set logs frontend in -frontend.c
rig-curses-debug: always redraw whole window
rig-logs: misc update
rig-curses-debug: s/log->log/log->entries/
simulator: add support for forwarding logs via protocol
rig: logs fixes
rig: logs fixes
rig: Add command line opts to control how sim runs
rut-poll: add api for handling SIGCHLD
rig-frontend: use rut-poll for handling SIGCHLD
simulator: fix braces bug breaking fd assignment
device: add -d,--disable-curses options
editor: add -d,--disable-curses options
simulator: require --frontend option
rig: logs fixes
curses-debug: fixes
rig: log protocol forwarding fixes
Add initial rig_text_t component

UI text used to be handled by rut_text_t but now the aim is to handle
text shaping, wrapping and rendering more directly in Rig. This will
give us tighter control over typography and over layouting + rendering
optimizations compared to what we have currently with CoglPango for
example. This also lets us avoid some dependencies including glib,
pango and cairo.

This builds on Freetype for glyph rasterizing, Harfbuzz for shaping, ICU
for implementing the unicode bidirectional text algorithm + providing
unicode meta data and Fontconfig for matching fonts.

Since the above libraries are relatively small and portable (with the
exception perhaps of libICU) we don't introduce any further layer of
abstraction for portability which helps keep our code fairly small and
malleable as Rig's needs evolve.

With regards to ICU, we use a modified version of ICU that builds using
automake and libtool and provides some extra apis that allow Rig to
be fully responsible for loading and caching ICU data. Considering the
aim to support using Rig in a browser, the plan is to split the ICU
common data up so it can be downloaded to clients on demand.

A key aim here is to provide consistency across the different platforms
that we want Rig to support which would be difficult if rasterizing and
shaping behaved slightly differently on each platform for example.
XXX: disable play mode input temporarily