Initial commit
Buffer.forward
Actually test buffer
Add menu.
Remove all test executables
Setup input loop skeleton
Clear buffer on delete
Retrieve current selection
Fix off-by-one during deletion
Small demo
Do not fail when removing file.
Avoid name clash with stdio macro
Add hacky utf-8 support.

- Data in Menu.buffer is assumed to be UTF-8 encoded.  No error
  handling.
- UTF-8 handling is done in two places: in the actions in main.c and in
  the display function in menu.c.

TODO:
- Implement an UTF-8 aware buffer (maybe call it TextBuffer)
- Convert input to UTF-8 before inserting it into the buffer.  The
  standard iconv API can be used for this.
Use cc; link statically
Update tests.

The Buffer API changed, the test wasn't changed to accommodate this
fact.  The expected results for rendering the menu were not up to date
with reality anymore.

Statically linking against glibc makes Valgrind display lots of errors,
that do not occur when linking dynamically.  For this reason static
linking is disabled again.
Handle long UTF-8 characters.

UTF-8 encoded characters can be up to 6 bytes long. This commit enlarges
the buffer in the main input loop to hold up to 7 bytes.  It also
ensures that the buffer is terminated with a 0 byte.
Fix off-by-one error for selecting next match.
Reset cursor after matching
Refactor
Display menu on /dev/tty.

If the menu is displayed on stdout, tmenu is not composable with other
programs, i.e. the following won't work:

    $EDITOR "$(find . -type f | tmenu)"
    find . -type f | tmenu | xargs gzip

because the other programs would see the actual menu.