New Message class.
Replace callbacks with std::function
Simplify message handling.
Don't strip debug symbols in release build.
Rename callback to frameCallback
Combine all messages into one package
Start to use a mutex.
Add an empty clock callback.
Allow both defered and non-defered callbacks to run.