add support for Tracy profiler (#1153)
* add support for Tracy profiler
* add tracy client
* add Aidan's StackContext Zone
* a bit more documentation
* doc cleanup
* add HXCPP_TRACY_DISABLE_STACKS flag
* put tracy include behind HXCPP_TRACY
* move code to third party; move tracy into it's own cachable <files> section in haxe-target.xml
* shift tracy telemetry into its own cpp file
* fix incorrect signature
* add global __hxcpp_tracy_* telemetry functions
* add ctx to cppia-stackframe; fix sourcelocation's fullName
* remove the dependency on haxe's stackframe context, use tracyZones vector instead
* update docs
* bug: fix InternalNew's parameter being used as linenumber in its HX_STACK_FRAME
* fix wrong path in HX_STACK_FRAME
* add HXCPP_TRACY_NO_EXIT & HXCPP_TRACY_ON_DEMAND support
* added HXCPP_TRACY_INCLUDE_CALLSTACKS, use this to generate & include callstacks in the profiler zones
* allocation tracking
* add no-op gc alloc function to hxtelemetry implementation
* Account for the same large object pointer appearing before collection
* add HXCPP_TRACY_MEMORY
* stack depth needs +1
* track large objects globally
* eagerly free large objects
* add __hxcpp_tracy_set_thread_name_and_group; disable custom GC ___tracy_source_location_data
* new tracy telemetry header and hxcpp zone macro
* Use hxcpp float
* fix argument order in custom scope
* Remove test zone function
* line unique scope variable
* callstack macro variant
* fix HXCPP_TRACY_ZONE
* zone count function
* update docs & comments
* update readme
---------
Co-authored-by: Aidan Lee <[email protected]>