WIP tests all passing (except one is intermittent). looks good.

_do not merge_

need to do:

 * [ ] review bower.json and package.json, ensure there's nothing extraneous
 * [ ] update README
 * [ ] misc cleanup