title: Wrap horizontal legend across multiple rows
body: <p>Suppose I have data like the following:</p>
  
  <pre><code>    lab &lt;- "A really really long string!"
      dat &lt;- data.frame(grp = paste(1:6,lab),x=1:6,y=runif(6))
  </code></pre>
  
  <p>When plotting a legend with strings this long, sometimes it can be a challenge to get the legend to fit nicely. If I have to I can always abbreviate the strings to shorten them, but I was wondering if it's possible (most likely using some <code>grid</code> magic) to 'wrap' a legend across multiple rows or columns. For instance, say I position the legend on the bottom, horizontally:</p>
  
  <pre><code>    ggplot(dat,aes(x=x,y=y,colour=grp)) + geom_point() + 
          opts(legend.position="bottom",legend.direction="horizontal")
  </code></pre>
  
  <p>Is it possible to get this legend to display as two rows of three, rather than one row of six?</p>