JSON input/output on serial link

This is a large PR, that adds support for JSON-formatted input and output on the serial link. The changes are largely backwards-compatible: all previous serial commands still work, though the output format of most commands is now json. In particular, download of logs (which was json already) is unchanged.

Some commands wich are used purely for debugging will probably not be ported to JSON format (setting OLED display parameters and so on) unless there is a real use-case.

JSON parsing and output is based on libjson (MIT license) which is included in this PR, already configured to work on the Onyx architecture. libjson provides very robust parsing and simple output.

This implementation was stress-tested for 24 hours on my live reading HTML interface with no issues.