[WIP] Rewrite

This cleans up some code and adds a new (Expirimental) stairsplus API which is more extensible.
The only user-visible change should be a better circular saw formspec (the old one still works properly).
![selection_010](https://f.cloud.github.com/assets/3399154/2000819/e2a675f2-856c-11e3-9d05-c064f478265e.png)