__COUNTER__ is a nonstandard extension, and a random compiler might not be implementing it, or could be implementing it in a broken way, to address that, add fallback equivalent code utilizing __LINE__ to generate the luaL_Reg elements, still at compile time. This is not enabled by default because it increases build times as it performs more computations.
Update lua functions to already have the pduel parameter passed inside them, thus not needing to manually retrieve them in the functions.
Add also a yieldk macro that does the same thing but for the yield continuation function, removing the redoundancies
Most of the library functions are used as "class member functions" where the first parameter is always the corresponding lua object, update the LUA_FUNCTION macro so that the functions already have a "self" parameter corresponding to the already parsed lua object.
Added a new LUA_STATIC_FUNCTION macro for functions that are to be called without an associated object