Finally managed to get a very rough and limited version of the c backend working

After patching closure convert I had to fix up a couple issues in the backend,
the main issue was in packed-representation, but all I actually had to do to
fix things was add the SimdRealSize type to the representation signature

I then had to spend sometime getting the scalar load and store primitives
working, I actually had to write the c versions of the functions in
assembly because the intrinsics didn't work for what I needed

I then got things working, mostly. I needed to use unaligned loads
for any non-scalar simd variable and programs occasionaly segfault seeminglf at
random, but even so I can load an array of 4 real32's into a simd variable
add them using a simd add and print the results and it works, so yay!