[WIP] JSON Deserializer

Targets #151

This is highly WIP. Please review the interface definitions before I
start implementing this stuff!
Nope, `char const*` is ok, but plain `char*` is not.