This adds a 32-byte entropy pool that is maintained across calls to GetStrongRandomBytes(). As we’re already using SHA512 to combine the multiple entropy sources, which produces 64 bytes, we can use the last 32 of those as an additional input for the next call.
This makes sure that the produced data is secure as long as any entropy source in the past was reliable.
The entropy pool is initialized with zeroes (but not used before any OS and OpenSSL entropy are fed into it). In the future a more extensive seeding operation can be used to build the initial pool.