binary PUT handling:
- accept both ArrayBufferView and ArrayBuffer as request body
- pass Uint8Array to xhr.send() when ArrayBuffer is passed (refs #390)