Fix screen handling for child windows.

Change the semantics of QWindowPrivate::screen to contain the screen of
top level window only. Child windows always return the screen of their
toplevel window by recursing up.

The QPA plugins then no longer need to report screen changes for child
windows.

Change setScreen() accordingly, bail out for child windows, and
emit screenChanged() recursively.

Also add a check to setParent() preventing screen changes.

Task-number: QTBUG-36659
Change-Id: I19c8e12217cba1513e947a027f2492abc7b98816
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>