Add support for c++ member function

I think it'll be much convenient to directly create a function-type Variable from c++ member function and call it from lua and c++, as a single function can be used both for c++ and for lua and we don't need to write any api functions like int xxx(lua_State*). (Also static functions can be supported in the same way.)
Can you also make these `Size`, `First` and `ToArray` so they're consistent with the rest of the project?