toJson method

This change added a toJson method that operates similarly to toDict during encode. The difference is that the result of toJson is treated as a string containing pure JSON that is inserted into the output buffer.

I had a use for this feature when serializing a large rapidly dictionary structure that had a number of complex, but unchanging sub-elements. Especially since I would store a number of those immutable sub-elements as JSON already to reduce memory usage (single string vs dictionary) this saved me both a decode and encode operation that I would have otherwise had to do if I only used toDict.