Arena allocation make deallocation of nested structed MUCH faster, and
improves the spatial locality of allocations. It makes no sense to
deallocate only parts of a JSON structure so arenas are a good fit here.
Move json_value and obj_t to same file
- Rename json_obj.* -> json_value.*
- Move `print_json_value(...)` to json_value.*
Move `err_ctx(...)` to util.*
parse.h now only exposes `parse_json_value(...)`