title: using split.screen() for unbalanced figure. overall title in right place, but trimmed
body: <p>The motivation:
  Have a figure with two columns, left column with 3 plots, right column with 4 plots, and an overall title.
  I am able to generate the figure using split.screen(), and to get an overall title. But the current issue is that there isn't "enough" room for the overall title, and some of it is truncated - as can be seen in the figure. I tried to play with the size of the margins and the size of the .png, with no success. Thank you.</p>
  
  <p><img src="https://i.stack.imgur.com/4een1.png" alt="enter image description here"></p>
  
  <p>The code used for this toy example:</p>
  
  <pre><code>##  Open a new default device.
  get( getOption( "device" ) )()
  png("Figure1.png",width = 1200,height = 1200)
  
  par(oma = c( 0, 0, 3, 0 ) )
  ##  Split the screen into two rows and one column, defining screens 1 and 2.
  split.screen( figs = c( 1, 2 ) )
  
  ##  Split screen 1 into one row and three columns, defining screens 3:5.
  split.screen( figs = c( 3, 1 ), screen = 1 )
  
  ##  Split screen 2 into four rows and one column, defining screens 6:9.
  split.screen( figs = c( 4, 1 ), screen = 2 )
  
  screen( 3 )
  plot( rnorm( n = 10 ), col = "red", main = "plot 1" )
  
  screen( 4 )
  plot( runif( n = 10 ), col = "blue", main = "plot 2" )
  
  screen( 5 )
  plot( rt( n = 10, df = 8 ), col = "springgreen4", main = "plot 3" )
  
  screen( 6 )
  plot( rpois( n = 10, lambda = 2 ), col = "black", main = "plot 4" )
  
  screen( 7 )
  plot( rf( n = 10, df1 = 4, df2 = 8 ), col = "gray30", main = "plot 5" )
  
  screen( 8 )
  plot( rf( n = 10, df1 = 4, df2 = 8 ), col = "gray30", main = "plot 6" )
  
  screen( 9 )
  plot( rf( n = 10, df1 = 4, df2 = 8 ), col = "gray30", main = "plot 7" )
  
  ##  Close all screens.
  title( "Sanity Models", outer = TRUE )
  close.screen( all = TRUE )
  dev.off()
  </code></pre>