FFI ポインタアクセス手続き追加

以前 ポインタは exact integer として表現していたのだが、「pointer? で検査できる方が安全」というもっともな提案を受け改良中。
INT8_MIN などの最大値、最小値がが定義されるかどうかは? stdint.h で以下のようにチェックされていることを知った。

/* The ISO C99 standard specifies that in C++ implementations these
   macros should only be defined if explicitly requested.  */
#if !defined __cplusplus || defined __STDC_LIMIT_MACROS
pointer? pointer->integer integer->pointer pointer-set-c-int8! pointer-set-c-int16! pointer-set-c-int32! pointer-set-c-int64!
pointer-ref-c-uint8 pointer-ref-c-uint16 pointer-ref-c-uint32 pointer-ref-c-uint64 pointer-ref-c-int8 pointer-ref-c-int16
pointer-ref-c-int32 pointer-ref-c-int64 pointer-ref-c-signed-char pointer-ref-c-unsigned-char pointer-ref-c-signed-short
pointer-ref-c-unsigned-short pointer-ref-c-signed-int pointer-ref-c-unsigned-int pointer-ref-c-signed-long pointer-ref-c-unsigned-long
pointer-ref-c-signed-long-long pointer-ref-c-unsigned-long-long pointer-ref-c-float pointer-ref-c-double pointer-ref-c-pointer pointer-set-c-char!
pointer-set-c-short! pointer-set-c-int! pointer-set-c-long! pointer-set-c-long-long! pointer-set-c-float! pointer-set-c-double! pointer-set-c-pointer!
pointer-null pointer-null? pointer-diff pointer-add pointer=? pointer<? pointer>? pointer<=? pointer>=? pointer<>?