Allow multiple calls to generate().
Generate much more randomness.
Switch to a method that's about 2x faster on my GT 650M.
Be more C++-ish.
Tidy up.
Whoops, assert() compiles to a no-op in release mode, so don't put code in it.