Lua: Convert port to full userdata so it's LuaJIT compatible
Lua: Convert port to full userdata so it's LuaJIT compatible

The librs232 library fails with LuaJIT 2.0.0 since LuaJIT does not support
metatables associated with light userdata objects and the library uses light
userdata objects to represent ports. (The LuaJIT version of luaL_checkudata()
only accepts objects of type LUA_TUSERDATA; the Lua version also accepts
LUA_TLIGHTUSERDATA.)

All light userdata objects in a program share a single metatable (e.g., see
the implementation of lua_setmetatable). Ports should really be represented by
full userdata objects so ports can be guaranteed to have a metatable specific
to the port object type.

Signed-off-by: Petr Štetiar <f0d4d86d9c7002e67e6ae7bb5596bc0afa7b4c3a@true.cz>

ynezz/librs232,jjonethal/librs232,moteus/librs232,jjonethal/librs232,moteus/librs232,jjonethal/librs232,ynezz/librs232,moteus/librs232,ynezz/librs232