Add C extension for direct manipulation of memory

Sodium::Buffer should be able to implement tasks like direct string
modification and XOR quickly, without having to unwrap layers of Ruby
indirection.

Two functions, sodium_memxor and sodium_memput have been added to allow
for fast string XORs and fast string byte replacement (respectively).
Implement Sodium::Buffer[]= on top of Sodium::FFI::Memory#sodium_memput

Sodium::Buffer[]= will be incredibly useful to have for performant
buffer manipulation (by avoiding having to repeatedly allocate and
concatenate strings). It has been implemented on the new memput function
exposed through C.