bugfix: ngx.re.gsub swallowed the character after a 0-width match that happens to be the last match