cconvert(Ref{BigFloat}, x) should return BigFloatData (#57367)
#55906 changed `cconvert(Ref{BigFloat}, x::BigFloat)` to return `x.d`,
but neglected to do so for other types of `x`, where it still returns a
`Ref{BigFloat}` and hence is now returning the wrong type for `ccall`.
Not only does this break backwards compatibility
(https://github.com/JuliaMath/SpecialFunctions.jl/issues/485), but it
also seems simply wrong: the *whole* job of `cconvert` is to convert
objects to the correct type for use with `ccall`. This PR does so (at
least for `Number` and `Ref{BigFloat}`).