Move from pegjs-coffee-plugin to pegjs-each-code

- Self-hosted coffee compilation instead of dependency on (old version
  of) jashkenas/coffee-script.
- No more `@variable`s for global variables and helper functions, which
  involves having to use `=>` instead of `->` sometimes. Now, just use
  `variable` like in plain JavaScript.
- It is now possible to do `a:Foo? { a ?= []; rp a}` as expected.
- Better error messages. Partly because CSR has better error messages
  than jashkenas/coffee-script@1.6.3, partly because you also get to
  know in which rule the code resides. The error messages will get line
  and column numbers in the .pegcoffee file as soon as
  lydell/pegjs-each-code#1 is resolved.
- No more weird hacks in the initializer.
- Note: lib/parser.js gets pretty bloated because of #323.