mroonga_escape: support calling in an argument of UDF

If a UDF(A) is called in other UDF(B)'s argument list, (A)'s body
function is called twice. First, it is called for (B)'s init
function. Second, it is called for (B)'s body function.

mroonga_escape() returns the processed result when it is called
twice. Other UDF should care about it.

Redmine: fixes #1923

Reported by Tomoatsu Shimada. Thanks!!!