OneOf Generator

This was a little bit tricky to keep stateless because when you want to shrink to an earlier generator here we have to determine which is the generator used to get the current element you want to shrink

I think this could work, but check it out :heart: 
I did that because I don't know if shrinking faster is good/better, suppose to have

```php
$generator = new OneOf([
    new Generator\Elements(1, 100),
    new Generator\Integer(1, 100),
]);
```

When you need to shrink `100` then you are skipping a lot of values and maybe the smallest value you are searching (suppose the value in this case is `5`)

I don't know, I prefer accuracy over speed in this case but let's talk about it :wink: