refactored to use metatable, fixed UniLua metatable set/get with lightuserdata, added some metatable api in LuaAPI that are missing