json: add sub-section on default de/enconding (staging area)

Cover deconding from &str, default decoding and encoding into String (ref. #86)

(Similar to the previous PR, with added encoding)
Then you'd have to do `struct.to_json().to_pretty_str()`? (I've alway worked with ugly JSON in Rust).

My hypothetical `pretty_str_encode` would be used as `pretty_str_encode(&struct)`.

I suppose that `str_encode` is faster than `to_json().to_pretty_str()` [1], because it doesn't create a `Json` intermediate object. I'll run a bench to check that.

[1] Hmm, is there any way to go from `Json` to an ugly/compact `String`? (apart from the `to_pretty_str()`)