Make WindowItem handle opacity
This change makes the WindowItem track the opacity and schedule a repaint. It further decouples the legacy scene from code window abstractions. It's an API breaking change. WindowPaintData no longer can make windows more opaque. It only provides additional opacity factor.