Move drawing to a separate function for easy refreshing.
Don't switch blindly to butler-buffer.
Enable arbitrary buffer targets.
Deciding what to do with the buffer is probably not the job of the
draw-butler function.
Callbacks, and lexical-let.
Don't erase the buffer by default.
Erase the buffer instead here.
Only call the callback on the last server.
Refresh method!!
Refresh works correctly. This closes #1