Deeper initialLayout validation.

If this is badly specified, we can enter an infinite loop. I'd rather check it once on init
than check it every time I access a layout object.