Should be ready to test with new implemenations now.
Changes include:
changed message passing from queues to functions which take a message
plugins are responsable for their own io, they are handed a dictionary
with mappings from plugin names -> message input functions that take a
message and place it in the other plugins inbound queue
moved gtk.main() into the main thread(which was doing nothing before,
except checking for terminating message, this will be moved to the
IPlugin)
split input and output into seperate plugins to make it easier to
understand