I've also added UTF-8 BOM stripping, because trying to
educate Windows users _not_ to use notepad.exe is an absolutely
hopeless endeavor.
The utf-8 bom, by definition of unicode, is actually a "space" character. Shall we just treat utf-8 bom like a normal space character, instead of strip it off? Is that easier to handle in the lexer?