Enable a potentially zero-copy read path.

Instead of using newSVpvn(), make an SV around the passed buffer, so we
can skip unnecessary data copying. This makes the write buffer SV read-only.
The only possible problem is if the write() implementation tries to hang
onto the SV; I'm thinking about making a "zerocopy" option flag and using
this path only when that option is enabled.