window: move input and opaque regions into struct surface