Correctly manage callbacks
gsl_function and gsl_monte_function are handled in this patch.
This implementation do not mess with the memory.
We put on the C stack during all the function using the callback
a structure (gsl_[monte_]function_perl) that has all what we need.
We use the 'params' parameter in the original C structure to
track the adress of this structure and our C callback
(call_gsl_[monte_]function) use params to get back the info and
call the perl callback.
When a gsl_function is required, the corresponding Perl parameter
must be either a function (ref to code or routine name string)
or a reference to a array of a function (ref to code or routine
name string), [an integer for gsl_monte_function, ]and a
scalar that will be passed "as it is" to the callback perl function.