since we can't have `send` and `module` we store `LuaFunctions` inside
the registry and pass around keys to them. ehh, basically what i was
doing with the callback channel but now twice i guess, idk i hope this
can get better eventually ™️
basically upstream lua pushed a change making `send` and `module`
features incompatible, which is not ok for us as we need the LuaFunction
to be sync to send it on the channel. Also added features for all lua
versions, it's a bit messy on the Cargo.toml but now we support really
all lua versions and can probably publish on luarocks