Introduced HeapAllocatorForSubtypesOf<>
Inlined CopyObjectToHeapFromConstRefOfType
Refactored CountLivingNeighbors to only emit one event

Decided it would reduce complexity to not differentiate live and dead
cells based on event types, but to instead use a simple boolean flag.