Load from JSON working

A model can be loaded from JSON. If a model already exists in the
harness, it will just add the new blocks on top and remap. Custom block
data is not yet saved and desieralised. Each block will need its own
serialise/deserialise functionality and that is next.