Ok, now it's becoming rocket science with

child processes/background threads and a lot of messy hacks and workarounds:
1. 'root' is the first process started, it creates ROOT's process and shows a splashscreen
2. to show a splashscreen and process related events, parent process has to convert into foreground
   and become a real Cocoa application
3. After that, there is no way back - this process has to:
   pull event from Cocoa's event queue (otherwise, it's considered as non-responding by the system)
   wait on a child process using waitpid.
4. waitpid is blocking itself (in non-blocking mode I'm not able to catch process status change), so we ...
5. create one more thread for a waitpid (which suspends)
6. after waitpid 'fires' we inform a mainthread :)
7. mainthread does the remaining job of 'generic' WaitChild from rootx.cxx.
8. wooooooo