Optimization

* manually parse arguments (single letter only)
* make pretty printers write directly to a buffer
* replace bytes.Buffer with bufio.Writer
* some inlining