Better handling of comments

- Line comments and comment blocks are handled better
- Replace all occurrences of "Beg[in]" with "Start" for consistency
- More lazy evaluation
- More debug logging statements
- Slightly more efficient when logging is disabled

Thanks to Alvan <alvan.law@gmail.com> for pointing out some specific
issues.