Reduce underlying type of CallbackMask to unsigned char (default is int not unsigned int!)
Remove virtual destructor from AbstractFunction thus removing the need to store a virtual function table pointer
Replace pass by value with pass by reference for callbacks
Move callback_mask_t to implementation files
Revert "Remove virtual destructor from AbstractFunction thus removing the need to store a virtual function table pointer"

This reverts commit 0be84830ad6942f2f1d15eb8c3e60900fb4b1504.
Merge pull request #51 from hpicgs/improvements

Minor improvements