[WIP] Added VEX_FUNCTION v2 macro family

There is a tiny problem though: C++ standard does not allow for a member
templates in a local classes. Need to find a workaround (aside from
requiring user functions to be always declared at non-local scope).