(read-lexeme)

Now SECD exposes the built-in lexer as built-in function `(read-lexeme)`

Usage:

    (read-lexeme)   ; assumes starting with #\space at line 1 pos 0
    (read-lexeme #\space)   ; starting with #\space at line 1 pos 0
    (read-lexeme #\space 10 2)  ; start at line 10, pos 2

returns a list of lexer info:

    (<endline> <endpos> <endchar> <tokentype> [<tokencontents>])

where <tokentype> is one of `sym`, `int`, `char`, `quote`, `quasiquote`,
`unquote`, `unquote-splicing`, `token`.

    (read-lexeme) => (0 2 #\space token #\( )
    (read-lexeme) => (0 3 #\)     sym   +)
    (read-lexeme) => (0 10 #\space str  "hello world")
tests/parser.scm: string->number