undo: Reimplement undo redo for effect properties.
tests: Make sure all tests can be run by nosetests3
loggable: Use threading instead of _thread
bin: Allow passing arguments to autogen per module