refactor(kernel/expr): add macro_definition smart pointer

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/definition): macro definition and application Lua API

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
chore(util/lua): name convention

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>