Push input-watching down into the Screen.
Have the Screen call back into MainLoop on new input.

This should be much more readily extended by async loops like asyncio and Twisted.
Fix up the Twisted example.
Fix `except ... as`.

This would normally be done with 2to3.  But I'm trying to run the test
suite against 3, and urwid requires 2.6 anyway.
Add AsyncioEventLoop.  Fixes #52.
Split up MainLoop._run, so the loop can be managed outside urwid.
Fix some Python 3 things that work fine in 2.6 anyway.
Fix Screen.parse_input to be easily reused by subclasses.
Put run_wrapper in the base class; make BaseScreen.start() a contextmanager.
Make BaseScreen.start() and stop() idempotent.
MainLoop.start/stop now start/stop the screen, too.
Add Screen.write and Screen.flush.
Add an example that uses asyncio.
Fix a doctest.
Pass kwargs to MonitoredList.sort() to allow custom sorting with key, cmp, etc.
Merge pull request #68 from tonycpsu/master

Pass kwargs to MonitoredList.sort() to allow custom sorting with key, cmp, etc.
high color palette detection fix
Merge pull request #71 from extempore/master

High color palette detection fix
Adapt docstrings to changed arguments
Stop screen even without external event loop