Optional custom json replacer per response

In some cases it is useful to be able to overwrite the json replacer at response level, in the end it is something related to the response.

This change also makes it possible to simply say: `res.jsonReplacer = null; res.json(data);` to prevent the jsonReplacer from kicking in.