Main example for priority queue using dijkstra's algorithm.

I wanted to have a slightly larger example compared to the method examples, but I'm unsure how it worked out.

Feedback would nice.
This could be
```rust
loop {
    let State { position, cost } = match pq.pop() {
        None => break, // empty
        Some(s) => s
    };

    // ...
}