I guess this is "proof-of-concept" rather than any kind of practical solution (it certainly isn't practical). It does some rather naughty stuff with low level PDF literals:
\documentclass[border=5]{standalone}
\usepackage{tikz}
\usetikzlibrary{fadings}
\tikzset{
outline text/.style={
execute at begin node={%
\pgfsetfillopacity{0}%
\pgfsetlinewidth{\pgflinewidth}%
\pgfsetstrokecolor{#1}%
\special{pdf:literal 1 Tr }%
}
}
}
\begin{tikzfadingfrompicture}[name=Aa]
\node [text=transparent!100, font=\Large\bfseries,
minimum size=1cm, fill=transparent!0] {Aa};
\end{tikzfadingfrompicture}
\begin{document}
\begin{tikzpicture}
\path [left color=yellow, right color=red, middle color=purple,
shading angle=45] circle [radius=2cm/3];
\node [fill=blue!20,fit fading=false, draw, minimum size=1cm,
path fading=Aa, font=\Large\bfseries, outline text=black] {Aa};
\end{tikzpicture}
\end{document}

And here's an sort of automatic version, which (perhaps unsurprisingly) requires some low level hacking.
\documentclass[tikz,border=5]{standalone}
\usetikzlibrary{fadings}
\makeatletter
\tikzset{
outline text/.style={
execute at begin node={%
\pgfsetfillopacity{0}%
\pgfsetlinewidth{\pgflinewidth}%
\pgfsetstrokecolor{#1}%
\special{pdf:literal 1 Tr }%
},
},
knockout text fading/.code={%
\tikz@addmode{%
% Interrupt the picture to create a fading.
\pgfinterruptpicture%
\let\tikz@atbegin@node=\relax%
\begin{tikzfadingfrompicture}[name=.]
\node [node contents=, #1,text=transparent!100, fill=transparent!0];%
\xdef\fadingboundingbox{{\noexpand\pgfpoint{\the\pgf@picminx}{\the\pgf@picminy}}%
{\noexpand\pgfpoint{\the\pgf@picmaxx}{\the\pgf@picmaxy}}}%
\expandafter\pgfpathrectanglecorners\fadingboundingbox%
\pgfusepath{discard}%
\end{tikzfadingfrompicture}%
\endpgfinterruptpicture%
% Make the fading happen.
\def\tikz@path@fading{.}%
\tikz@mode@fade@pathtrue%
\tikz@fade@adjustfalse%
\pgfpointscale{0.5}{\expandafter\pgfpointadd\fadingboundingbox}%
\def\tikz@fade@transform{shift={(\the\pgf@x,\the\pgf@y)}}%
}%
\tikzset{#1}%
}
}
\makeatother
\begin{document}
\begin{tikzpicture}[line join=round]
\path [left color=yellow, right color=red, middle color=purple,
shading angle=45] circle [radius=2cm];
\node [outline text=black,
knockout text fading={
rotate=-45,
fill=blue!20, draw, text width=4.5cm, align=center,
font=\sffamily\Large\bfseries,
node contents={The quick brown fox jumps over the lazy dog}
}];
\end{tikzpicture}
\end{document}
