cppcallback Typesafe c++ delegates without dynamic memory allocation C++ 11 version of Elbert Mai's CPPCallback