Factored loading out of runtime object model.

JsonLoader is now the only thing that knows/cares about JSON, and parties that
wish to make use of a binary format can simply follow its lead and construct
the runtime object model directly.