Optimizations of allocators.
Renamed 'Stack' to 'Arena'.
Replaced certain define constants with an anonymous enum.
Refactored MemPool to no longer require active or deferred defragging.
Replaced '__RemoveNode' as it was causing invalid memory accesses with regular doubly linked list deletion algorithm.
Replaced double pointer iterator in 'MemPoolAlloc' with single pointer iterator.
Fixed undefined variables errors in 'MemPoolFree' for the freelist bucket.
Object Pool Changes:
-- changed 'size' member name of 'union ObjInfo' to 'index' to better name its purpose.
Memory Pool Changes:
-- Added memory node buckets to store and allocate smaller, more frequent byte sizes.
-- Replaced 'memset' call to deinitialize free list data with NULL and 0 assignments.
-- Removed some no-longer-needed commented-out code.
-- Changed insertion sort code to put the largest size at the tail rather than the head.
-- Made certain pointer variables as constant pointers.
* Patched potential bug when defragging.
Patched a potential bug concerning the '__RemoveNode' function as, when removing certain nodes that are either at the head or tail, it can yield a free list node of size 0 bug as the previous node was removed and its size was set to 0 but not fully removed from the other nodes.
* A few more potential bug patches.
L235 - Increased the memory threshold size so that we can further reduce fragmentation by allocating memory blocks that is close to the requested size by 16 bytes.
* Submitting rmem memory and object pool module
* changed 'restrict' to '__restrict' so it can compile for MSVC
Added `const` to parameters for `MemPool_Realloc`
* Update and rename mempool README.txt to mempool_README.md
* Update mempool_README.md
* Update mempool_README.md
* Update and rename objpool README.txt to objpool_README.md
* implementing changes
* updating header for changes.
* forgot to change _RemoveNode to __RemoveNode
* removing l
* removing l
* Updating documentation on MemPool_CleanUp function
* Updating documentation on ObjPool_CleanUp function
* changed *_CleanUp function parameter
Replaced `void*` pointer to pointer param to `void**` so it's more explicit.
* Updating header to reflect changes to the *_CleanUp functions
* A single change for the mempool and a patch for the objpool.
Object Pool Patch: if you deplete the object pool to 0 free blocks and then free back one block, the last given block will be rejected because it was exactly at the memory holding the entire pool.
Mempool change: switched memory aligning the size from the constructor to when allocating.