Nearley needs more objectness

- prepare for browser use
- drop boilerplate from generated grammars
- make grammar diff'able
- make Rule a proper object factory
Well, yeah, sure. As I understand it, at the moment, the user has to include both nearley.js *and* generated-grammar.js, and then manually call `new nearley.Parser`. Is that correct?