introduce a new header for typedefs and updated CMakeLsists to include it in build
Moved callback types to a separate file for flexibility
Changed all callbacks to their types, introduced in freeglut_types.h