Support creating AV.Buffers from ArrayBuffers, JS Arrays, Typed Arrays, Node Buffers, other AV.Buffers, and lengths

Should simplify some code (see next commit)
Use new AV.Buffer constructor to support buffer source