GC optimizations:
 * The GC will no longer register static memory areas in the executable and in dynamic libraries as roots. (#60)
 * We're now using GC bitmap descriptors or atomic allocations for all internal structures to make these precisely scanned. (#60)
Cleanup fat monitors when its owner object is GCed. Fat monitors are now allocated uncollectibly. We register a finalization handler when a thin monitor is inflated that frees the memory and destroys the monitor when its owner is GCed. (#61)