Restructure modules, breaking apart freehand.py into mixin classes.