Features and miscellanea:
 - smarter creation of log files and directories
 - add in some way to profile the client
 - some kind of persistence mechanism?
 - write a manual?
    - related but different: manpages
 - MXP? May be too heavyweight to do nicely and keep the core small.
 - rename Metaline.insert to insert_after, and add a new method called 
   insert_before.
 - have something line instance_macro.
 - should TriggerMatchingRealm get send_after?
 - more complex logging of errors than going to stdout. Pop up a dialogue box,
   and write to the logfile?
    - if this gets done, then realm.console should also do something similar
 - double-check that what comes in through dataReceived, the gui, etc, is
   converted to unicode, and is properly encoded at all times. The logfile
   may be writing fine, and it's the display, or there may be some confusion
   going on.
 - unicode (\U and \u) escapes in escape_parser.py

Screen related:
 - search facility in the output
 - or, even better than pausing: screen splitting
   - or, new window opening?
 - something to show you when each line arrived.
 - a MORE thing to show when more stuff's arrived and we're paused.

Test related:
 - Tests that need writing:
    - output_manager.py, gui/*gui.py
    - The realms has imperfect test coverage right now
    - TelnetClient has untested parts
    - most stuff under library/
    - LineAlterer needs some
    - the GTK-specific bits of gui/keychords.py
 - Use a proper mocking system instead of ad-hocking a new set of mock objects
   in every test file. This might require writing an interface spec.
 - write a few integration tests

Other refactorings:
 - customisation! Make the split char customisable, make the font 
   customisable; these are only the tip of the iceberg. Echoing toggling?
   Look through the code for hardcoded strings, etc.
 - separate the different layers (MCCP, Telnet, Matching, Output-Managing, 
   Outputs) more cleanly into Protocols, etc; ie, drink some more of the 
   Twisted koolaid.
 - make an abstract GUI interface, allowing for some other implementations 
   This is kind of half done informally, but half not.
 - write RunLengthList using an ordered dict or similar

Specific modules under library/:
  - write:
    - the Big Bad Combat System
    - automapper
  - targetting.py wants multiple targets and target switching added.
  - colourtells.py:
     - should also colour TELLS and SHOWTELL.
     - should have a SHOWTELLCOLOURS alias
  - imperian/autosipper.py: 
     - make it less trusting and add timeouts.
     - support for priest-mode (make mana sipping a higher priority)?

