[BREAKING CHANGE] Pass fragments, not surfaces, to windows (reprise)

This re-instates commit 7203025af78.

Change-Id: Iff779f3f40d86b9a40f2a2a5fc276571f53797c1
Merge "[BREAKING CHANGE] Pass fragments, not surfaces, to windows (reprise)"