Bon, j'ai un peu honte mais je propose une solution, pour la troisième configuration, qui n'est vraiment pas optimale. Les experts du codage vont me détester:
détester :
    \documentclass{article}
    \usepackage{microtype}
    \usepackage{lipsum}
    \usepackage{xcolor}
    \usepackage[latin]{babel}
    
    \setlength{\unitlength}{1cm}
    \newlength{\textlong}
    \setlength{\textlong}{9cm}
    \begin{document}
    \lipsum[1]
    
    \parshape=10
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textlong
    0pt \textwidth
    \noindent\lipsum[1]
    
    \vskip-13.5\baselineskip%
    \hskip\textlong%
    \colorbox{red}{\framebox(5,3){World}}
    \vskip6\baselineskip%
    
    \lipsum[1]
    \end{document}
Notamment les `\vskip` pour placer l'image dans la marge. Je ne sais pas si on peut faire ça de manière moins empirique : les coefficients 13.5 et 6 sont *calculés* à la main :). Bon, la commande importante, c'est `\parshape`.
![alt text][1]
  [1]: http://texnique.fr:80/osqa/upfiles/parshape.png