Several lexer fixes and cleanup. Introduced Position. Made parser monadic.