cmd/lex: Always print lexed tokens, and log lexer errors.
lexer: Make lexing more fault tolerant; read more below.

* Continue lexing even if an invalid token character sequence is encountered.
   - Any token containing an invalid token sequence is marked as such using
     token.Invalid.
   - The only terminating state of the lexer is when an eof has been reached.

* Report invalid and illegal runes from the next method.
   - Detect illegal placement of UTF-8-encoded byte order marks.
   - Detect illegal NUL characters in the source text.
   - Detect illegal UTF-8 encoding.