New plan. Don't use Swatch.

Entry point started with beginning hooks for GUI/Console
Better UI setup.
Signal handling added, colorama dependency
input_type added. FileInput implemented and working.

callback functions added to communicate with _Input's and Handlers.
Actions/Config framework implemented. FileInput readback implemented.

Console now reads JSON configs.
Example config for SASS log watching added.
Use ~/.snakewatch/default.json if exists, fallback on built-in.
Put Inputs into a structure similar to UI/Action

IgnoreAction is now properly handled by ConsoleUI
STDInput implemented.
Fixed imports for setup.py packaging.

Reduced sleep time on readline to 0.1
Moved get_handler() to main.py
Added ez_setup.py for boostrapping setuptools

Added classifiers to setup.py
Added licence files.
FileInput now handles file truncation properly.

Added sys.platform check for Windows signal handling.
Moved program info to __init__.py in package, setup.py reads from that.
Added ez_setup.py to MANIFEST.in
Added license info to top of source files.
GUI work started with PySide.

Removing abstract UI class to allow extending of Q* classes.
Added process handling code for Inputs.
QT Watch/Queue implementation.
Proper threading/processing! At last!

Also Action overrides for QT, better logging, and better object naming.
Fixed Qt event stuff for watcher updates.

Now just passes data instead of creating a callback method.
Also moved WorkerCoord stuff to its own module, and HTML-escaped output
for _Qt_Print
Updated version to 0.2.dev-1 since GUI is working now.

Added basic application info to QCoreApplication, added settings, and
warning for invalid default config.
Setup settings for py2app in progress.
Creating setup.cfg to fix py2app module inclusion bug.
Don't setup logging in __init__.py.
Fix File input contents truncate bug, and import error for Console.

Also added import check for required packages during setup.