Add Data.Buffer module

Implements Buffer, allocate, copy, append*, and peek* in terms of as-yet
non-existent (unsafe) primitives.