[wip] Extend public API with JSON import/export

- [x] `spirit.load({jsonData})`
- [x] `spirit.toJSON()`