UI|Client|libdeng2: Cull widgets that cannot be visible due to clipping

Widgets that lie outside the visible clip rectangles will not be
drawn at all. Previously all widgets were always drawn, regardless
of whether they could even be visible due to parents clipping their
children.

Added Rectangle::overlaps() to check for overlapping rectangles.