use native Bytestring copy methods

Currently, newCBStringLen unpacks a Bytestring to a list of Chars, then packs it back
into a CString. This is very slow. Copying directly gives two orders of magnitude
speedup in my tests.