This gets pretty close, but it ain't pretty due to the smaller values. You could shrink the size of the font in geom_text, but that will only get you so far before it's not readable.
require(ggplot2)
require(scales)
require(RColorBrewer)
require(plyr)
require(reshape2)
m.ex<-melt(ddply(example, .(GroupingVar, FacetVar), function(x) table(x$VarOfInterest)))
m.ex2<-ddply(m.ex, .(GroupingVar,FacetVar), transform, pct=value/sum(value))
m.ex2<-ddply(m.ex2, .(GroupingVar,FacetVar), transform, half=pct/2)
m.ex2<-ddply(m.ex2, .(GroupingVar,FacetVar), transform, cum=cumsum(pct))
m.ex2<-ddply(m.ex2, .(GroupingVar,FacetVar), transform, position=(cum-half))
ggplot() + geom_bar(data=example,aes(x=GroupingVar, fill=VarOfInterest), position='fill') +
geom_text(data=m.ex2, aes(y=position, x=GroupingVar, label=round(pct, digits=2)))+
facet_wrap(~FacetVar,ncol=1) +
coord_flip()+
scale_y_continuous(labels=percent) + ylab('Percentage')