Consider the following scenario: Thread A calls KRandom::random(), for the first time.
It will now go through a (relatively) expensive procedure to seed the RNG. Note that before
this patch, "init" is set to true long _before_ the actual call to qsrand().
Now, thread B calls KRandom::random() in this sensitive time window. Since it finds "init"
to be true, it will skip over the expensive initialization, and be very likely to arrive at
qrand(), before thread A had a chance to call qsrand().
This patch is the simplest possible solution: Making sure init is set, _after_ the seed was
really initialized. This does not prevent init races, but the worst case scenario is now, that
several threads are each going through the seeding. A more elaborate solution would be to
add mutex-protection during initialization.