Simplify the API while maintaining the expressiveness and extendability

I chose the name `standard` for the default generator because it will be clear in context, especially when there are other generators that use the same naming scheme:

```haskell
standard : Int -> Generator Standard
mersenneTwister : Int -> Generator MersenneTwister
linearCongruent : Int -> Generator LinearCongruent
```

With future development of this library, would you mind using full names for different generators? If a user wants shorter types they can add something like `type LCG = Generator LinearCongruent`. This means new library users will know what is going on and experienced users will be *very* minimally inconvenienced. It may be worthwhile to add a note about using type aliases for this if there are a bunch of generators.

This is all guided by discussion in pull request #4