table layout cache returns wrong rectangle

the layouter can modify its input rectangle to grow
it to the necessary size to contain the layout

but we're returning the input rectangle when the inputs are the same as the
last call, not returning the output rectangle.

cache the output rect for a given input and return that

so now insert->table in impress and tab so extra cells are added and
then select the table and the blue border contains the whole
table, not just the first two rows

Change-Id: I4f09594d82c1597204afbd059e175af9bf8e2527