Because full stage relayouts are slow, forcing all ancestors to reallocate which includes some with allocate functions written in JavaScript. Let's avoid that.
This cuts the CPU requirement for dragging windows by around 20%. See !568 (merged) for another 22% cut.
Related to #590 (closed).