Fixed bug with `key` tokens

The first character after a 'key' state was being parsed as 'text'. It's fixed by passing a empty RegExp. If the token don't match any of the after rules the state is set back to 'start' without matching any character.