Usage:
```rust
use weighted_select::{self, IncompleteSelect};
let select = weighted_select::new()
```
It produces a stream that combines three underlying streams (`fetch_from_*`) and polls them according to their weights (`5`, `2`, `3`). Each stream will be polled at most `weight` times consecutively.