Use more specific specifiers for in/out buffers

Ruby's FFI library has a generic `pointer` type, but it also allows you to
specify buffers that are input-only, output-only, or both. These supposedly
perform faster. For the sake of this, plus better self-documentation, all
`pointer` types have been converted to the more-specific type of buffer
expected.