Port PEG JavaScript to CoffeeScript.

This is exactly the same as #8 except that it's from the-gss/ccss-compiler instead of paulyoung/ccss-compiler which will makes things easier for another pull request I'm working on.

> This is my first attempt at porting one of these.

> The basic concept is that there is a CoffeeScript class whose instance methods each map to a rule in the grammar.

> I went with this approach over other "use CoffeeScript with PEG" methods [1][2] since they affected the unlying way that PEG works.

> All of the test pass, but I figured that there might be some things to discuss regarding naming or the API. In general, I tried to refactor or rename things to be more explicit and easier to understand.

> This also addresses #7.