Make floats on shape inside work with multiple segment polygons.
The proposed approach is to place floats using the entire line (as opposed to per segment). For a given line, left floats will be placed starting in the leftmost segment of the polygon, and right floats will be placed starting in the rightmost segment. This placement will continue on the current line until a float cannot be fit in a segment on that line and still be in a legal position with respect to the other floats on that line. Then, like in normal float layout, any floats that do not fit on the current line will be laid out below the previously laid out floats.