Coffeescript support

Copied from now-overloaded #31