Spreadingv iterables in HTML

Any iterable can be used to embed into dom! macro:

    use vertigo::{component, dom};

    #[component]
    fn Wing<'a>(side: &'a str) {
        dom! { <p>{side} " wing"</p> }
    }

    let wings = vec![
        dom! { <Wing side="left" /> },
        dom! { <Wing side="right" /> },
    ];

    dom! {
        <ul>
            {..wings}
        </ul>
    }

Iterators can be combined inline:

    use vertigo::{component, dom};

    #[component]
    fn Wing<'a>(side: &'a str, number: i32) {
        dom! { <p>{number} ". " {side} " wing"</p> }
    }

    let left_wings = (1..3).map(|i| dom! { <Wing side="left" number={i} /> });

    let right_wings = (1..3).map(|i| dom! { <Wing side="right" number={i} /> });

    dom! {
        <ul>
            {..left_wings.chain(right_wings)}
        </ul>
    }