Discourage use of setNeedsLayout while a layout is running (#13542)

Change-Id: Ia4831db39528061f4ac4b98b861b8030a261cf9a