Adapt Json\Json for better prettyPrint support

I adapted the Json::prettyPrint to generate the same output as json_encode

also I added a "prettyPrint" option to Json::encode to take advantage of the json_encode pretty print and align the functionality to json_encode

This is my first pull request ever, so please be kind :-)
must be `defined('JSON_PRETTY_PRINT')`