added cppcomponents::function which is like std::function but abi identical to use<delegate<>>