Core * Added non-scoped block functionality for beginning and ending block manually from different functions. To open block use `EASY_NONSCOPED_BLOCK` macro, to close block use `PROFILER_END_BLOCK`. See #29 for more information * Added new API functions for getting current time (ticks) and converting it to nano- and microseconds: * `timestamp_t profiler::currentTime()` returns current time in ticks (or nanoseconds - depends on build options) * Add following cmake options to easy_profiler_core `CMakeLists.txt`: * `BUILD_WITH_CHRONO_STEADY_CLOCK` - use `std::chrono::steady_clock` as a timer. By default is `OFF` * `BUILD_WITH_CHRONO_HIGH_RESOLUTION_CLOCK` - use `std::chrono::high_resolution_clock` as a timer. By default is `OFF` If both is set to `ON` - use `std::chrono::high_resolution_clock`. If both is set to `OFF` - use `QueryPerformanceCounter/rtdsc` timer. **_Note_**: Do not forget clean `CMakeCache` file if you've changed an option. * Calculating total children duration per thread/frame/parent GUI * Displaying "total self %" (duration % excluding all children) per thread/frame/parent * Changed "Connect" button logic: if connected to the profiled application then additional click performs disconnect. Changed appropriate tool-tip. * Fixed displaying unicode text in popup and at histogram window * Display current opened file name at the window title; * Suggest save file name: using current system date and time as file name; * Checking for unsaved network session before opening new file and before exit. * Added "Use Right Mouse Button..." hint to Hierarchy window. See #35 #33 * Changed popup position on Diagram - now it is better positioned for small window also. * Added additional field "Self" to the popup on Diagram. Self stands for "self duration" (duration excluding all children). * Clear FPS Monitor contents after successful connect. * Minor fixes