Cache std::random_device
Summary: Creating or opening a std::random_device incurs an overhead one can see in profiling (about 7% on OS X; on Linux and OS X, this causes a call to open()).
Reviewers: Krita, dkazakov
Reviewed By: Krita, dkazakov
Subscribers: dkazakov
Differential Revision: https://phabricator.kde.org/D7895