buffer: construct new buffer from buffer toJSON() output

Creating a new buffer from the `toJSON()` output of another buffer does not currently work. This commit adds that support. @trevnorris or @TooTallNate