Optimize `MatchIterator`

Re-use the same `CString` so that a new C-string buffer (copy of the subject
string) is not created for each match.