Cherry pick #4131549846aa89a31dcbbb052538e3bbc1644e29 from master:
Adds the SC.ChildViewLayoutProtocol referenced in the code that didn't exist.
Adds a new optional method `layoutDependsOnSize` to SC.ChildViewLayoutProtocol that determines whether the child view layout plugin needs to re-run when the view's frame changes. This is required for flexible views that lay out their child views dynamically based on their size. Because the view's layout doesn't change even when its frame does, it otherwise would not re-layout the child views.