Additional scanner documentation

Start conditions and especially custom scanners aren't currently very documented, so this pull request aims to fix that.

Also includes another method of using Jison with CommonJS.