Port to CoffeeScript

@paultela Tested successfully, merge if you like it