Support replaceFunc returning an array of string

If replaceFunc returns an array of two strings, the first string will
be used for replacing current text and the second string will be
placed next to it. Then the cursor points between them.