Future improvements:
* done- and fail-callbacks are now always asynchronous which conforms best practices for Promise libraries
* refactored code for handling Future timeout debugging and fixed redundant timeout creating in the certain case (to better live with new profiler)
* failAloud now only prints error to console, not throws the exception
Profiler update events:
* made profiler event-emitter using eventemitter3 library, emitting 'complete' and 'timeout' events for the root timers
* added basic support of updating profiler widgets on new timers events