[WIP] JSON Deserializer

Targets #151

This is highly WIP. Please review the interface definitions before I
start implementing this stuff!
What do you mean exactly? Note: I'm not completely done and this is WIP, so things are missing, of course.