[WIP] JSON Deserializer

Targets #151

This is highly WIP. Please review the interface definitions before I
start implementing this stuff!
And it bothers people who know about how things work. Documentation belongs to source code, but now _that_ close.