Add recursive parsing for object values

This fixes issue #15.

Not sure about coding conventions, not too happy with the `if` inside the `if`, but it seems to work without breaking any of the existing functionality.