Str.trans: Fix regex context buglet

Previously, Str.trans used substr to extract a substring and then
match a regex against that substring. This messes up all kinds of
zero-width assertions (anchors, word boundaries, look-behinds).

Instead, use the Str.match(Regex, :continue($pos)) to tell the
regex engine where to start