Grammar and parser extension

- Implemented boolean assignment operator
- Added detection for left-recursion (currently just fail)
- Fixed escaping of generated code
- Split generation into multiple files (parser and types)
- Optimized range expression matching
- Simplified code generation by removing 'simple choices'
- Updated error handling (test on the ecma grammar)