Use C++ default arguments to replace "full" hook function variants.
Use in-class initializers for HookReceiver.
Convert ini_parse() to an IniParser class.
Use C++ style enums in a few places.