make StringScanner#[] accept names of named captures