Remove update_title call

Since we return TRUE, the function gets called anyways.
Use uzbl_variables_get_* instead of direct access
Log when a request URI is rewritten
Factor out event string creation

This is to allow the request infrastructure to use the same code.
Add request code

Very similar to events, but synchronous. This allows the event manager
to be the other end of '*_handler' commands.

This doesn't actually work yet since uzbl is all one thread, so any
request command blocks.
Filter out replies from commands to run
Remove "variables"

This commit removes selected_uri, last_result, uri, and geometry from
the list of read-write variables. The first two can't be meaningfully
set and the last two don't act like normal variables since they may
change behind the scenes.
Implement request handling in the EM
Implement a request command

Until uzbl is threaded, using this command will deadlock uzbl.
Make callbacks match GIOFunc
Refactor adding watches to GIOChannels
Add GAsyncQueue GSource code from RhythmBox

License and README included.
Don't dump objects into the root directory

Apparently the 3p directory is confusing things.
Run I/O in a separate thread

I/O talks to the main uzbl thread over a GAsyncQueue for common things
and inserts any replies found into a locked buffer. This has multiple
benefits over other approaches since:

  - requests are replied to synchronously as far as the main thread is
    concerned; and
  - commands aren't shuffled around into a scheduler-defined order.
Use the UzblState's io_loop
Add TODO items
Remove unused cmd_cancel variable
Remove unnecessary functions
Merge branch 'dev/threaded-uzbl' into mathstuf/next

* dev/threaded-uzbl:
  Remove unnecessary functions
  Remove unused cmd_cancel variable
  Add TODO items
  Use the UzblState's io_loop
  Run I/O in a separate thread
  Don't dump objects into the root directory
  Add GAsyncQueue GSource code from RhythmBox
  Refactor adding watches to GIOChannels
  Make callbacks match GIOFunc
  Implement a request command
  Implement request handling in the EM
  Remove "variables"
  Filter out replies from commands to run
  Add request code
  Factor out event string creation
  Log when a request URI is rewritten
  Use uzbl_variables_get_* instead of direct access
  Remove update_title call
Always clean up memory in the event command