every rule in ui_darwin.h SetParent must be followed by SetSuperview TODO can child cache it? adding a child must be followed by a call to SyncEnableState