Total refactor

* button emits a `select` event instead of needing an `action` function passed
* added docs
* package.json modernized
* now with MoARrrrrr state!

**NOTE**: this is a complete and total breaking change. I highly recommend running `npm version minor` before `npm publish`ing.