ring-buffer make-foreign-ring-buffer refactored to be defined using new define-ring-buffer function-definer macro

define-ring-buffer includes defun plus ?alloc and ?mem-cpy macrolets that resolve to cffi versions of fucntions.  Parameter to defined later will allow the macrolets to resolve to lisp versions, alowing the other code around it to be reused for both cases by relying on duality of syntax.