Fix exception when parsing “/*/*”

When a combination of / and * is encountered, the parser switches to
STATECOMMENT; then it continues to evaluate the current character. This
leads to the * that started the comment also finishing the comment. On
the next occurence of / and * another comment is started and the slash
that is supposed to be in the current buffer is removed; as the buffer
is empty at this time, this subsequently fails.

The fix consists of two parts: a) don’t evaluate the current character
again if we already know that it starts a comment, and b) ignore the
first character in a comment (using a boolean flag).