setupDebugMessageCallback
Detects the best debug output functionality to use and creates a callback that prints information to APIUtil.DEBUG_STREAM. The callback function is returned as a Callback, that should be freed when no longer needed.