factor out RegexLexer#yield_token

to prevent unnecessary arg-handling checks
add RegexLexer#groups
deprecate @last_match and use @current_stream

which is set per lex, rather than per callback