When clip segments were optimized away due to having no intersection
with the outer screen bounds, they were treated as opaque regions. This
is due to the fact that an Option is not expressive enough to represent
the three different kinds of distinct destinies of clip segments.

This change replaces the Option with an enum that is either a
RenderTaskId, Opaque, or Empty to represent a clip segment that should
not be rendered.

Fixes #2700.