…ters. EG the type of signal on unix is void (*signal(int, void (*)(int)))(int);
…grind. Valgrind is rightly complaining as we always access bitfields in 8 byte chunks to simplify the get/set logic.
Changed callbacks into a cdata type and added __call, :set, and :free methods. C functions are still pushed as lua functions. Reworked up upvalues to use a lightuserdata to a static int as the key. Added a callback user data that frees jitted code in the __gc. This is added as an up-value to C functions converted to lua functions so that the code is free'd when the lua function is no longer needed.