Use a simple queue to combine literal string writes into one.
Rewrite Conditional writes, so if all fields are conditional and nothing is encoded "{}" is sent as output.
More fixes on matching the standard library.

According to the specs: "Pointer values encode as the value pointed to. A nil pointer encodes as the null JSON object."
Always flush on omitempties.
Add missing newline.
Use old Rewind method to remove last ", ", if any values was written.
Add "string" support to encoder.
Fix trailing comma, if all fields are not omitempty, but the last one is, and it is not omitted.

+ Document comma handling.
Fix float point precision, so we match encoding/json byte for byte.
Merge branch 'lazy-literal-printing' of https://github.com/klauspost/ffjson into klauspost-lazy-literal-printing
Merge branch 'klauspost-lazy-literal-printing'