Drop json in favor of blank pointers.

Why? Because some folks might want to pass around arbitrary binary data,
which is tricky with json. Also, it is not too bad to continue using
json with this setup. For example:

    json_Item item = copy_str_item("hi");

    // Let's pretend I've written the item_copy_ptr macro/function:

    thready__send(item_copy_ptr(item), to);

    // ... then, in the receiver:

    json_Item item = *(json_Item *)msg;

    // ... when done:

    json_free_item(msg);