Core profiler functionality:
* Fixed up compiler/platform identification.
* Implemented low/hi res timer variants for Windows.
* Any malloc errors are now reported as a single shared system error.
* Added MurmurHash3 implementation in C.
* Fixed some compile errors when not using TinyCRT.
* Added a reusable object allocator: objects are allocated only if there are none in the free-list.
* Added a thread sampler per thread, using thread-local-storage to ensure threads only know about themselves.
* Global list of thread samplers managed with a lockless single linked list.
* CPU samples store a hash of their name for later identification of unique callstacks.
* Added error checking for API use after server shutdown.
* Hashes of sample names can optionally be cached at the call-site, allowing fast sampling for of static or dynamic names.