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