Full refactor

- Use Coffeescript instead of Ruby (+ Opal javascript conversion)
- Add a change log
- Add a Travis CI file to build and test the module
- Update module dependencies
- Enrich the package.json
the `?` there is coffeescript sugar that makes sure @editor is defined before trying to call a method on it. Was it causing problems or did it become un-needed for some reason I've missed? Pretty sure I put it in because I was getting occasional errors without it.