Remove the `@` boxes from extra::json

This PR does some small modernizations to the json library. First is to remove the `@` boxes, second is to rename the constructors to `new`.