x86: Force FFI_TYPE_LONGDOUBLE different from FFI_TYPE_DOUBLE

There are few abis that set double = long double.  Eliminate the
conditional compilation and let this code simply be unused there.
x86: Convert to gas generated unwind info
x86: Rewrite ffi_call

Decouple the assembly from FFI_TYPE_*.  Merge prep_args with ffi_call,
passing the frame and the stack to the assembly.
ffi_cif: Add cfa_escape
x86: Rewrite closures

Move everything into sysv.S, removing win32.S.  Handle all abis
with a single ffi_closure_inner function.  Move complexity of the
raw THISCALL trampoline into assembly instead of the trampoline
itself.  Only push the context for the REGISTER abi.
testsuite: Fix return_complex2 vs excessive precision

Use the previously computed rc2 to validate, rather than
recomputing a floating point result with excess precision.
x86: Add support for Complex
x86: Add support for Go closures