Fix several compiler warnings
Use struct instead of class for forward declarations if the object is defined as struct. Remove unused data members, variables and parameters. Remove an explicite usage of std::move to allow copy ellision. Correct type in printf statements. Add missing virtual destructor in some class. Fix two issues where closing braces were at the wrong place.
Edited by Florian Uhlig