effects/screenshot: Introduce CaptureWorkspace
Most screenshot tools provide some way to capture the entire workspace. Currently, the way to achieve that is to compute the workspace geometry yourself and use CaptureArea. It's inconvenient and it's also racy.
This change introduces CaptureWorkspace to provide screenshot tools slightly nicer API to capture the entire workspace.