First attempt at a byte array pretty printer

*Preview only, not to merge*

- Whether this tool is useful or not is to be decided
- Whether this should be public API or not is to be decided (hence the missing change annotations on the commit)
- This is one of the possible formattings, feel free to comment on it
- UTF-8 detection is better than simple ASCII in my opinion, but some very crazy strings can be valid UTF-8 -- we should decide if we want UTF-8 or only ASCII
- the UTF-8 charset detector comes from the Mozilla character encoding detector code and is MPL licensed. I am not sure if this can go in or not.