cmd/compile: factor our literal lexing from main lexer function
Further reduces complexity of lexer.next which is now readable.
Also removes the need to initialize various local variables in
each next call even if they are not used for the current token.
No measurable performance change for `time go build -a net/http`
(best of 5 runs): difference < 0.3% (in the noise).