compositor: improved opacity handling
Two improvements that avoid unnecessary work in the renderer:
- Surfaces with a opaque pixel format are fully opaque so set
transform.opaque
accordingly. - Calculating the opaque area for arbitrary opaque regions and tranformations is not really possible. But there is one rather common subset: If the surface is fully opaque and the transformation is just scaling then the opaque area is the same as the bounding box.