Deprecation mechanism, improvements to lua_function's classes, and demangling for MSVC and gcc/clang