window: fix negative offset clip
Accumulate any negative offsets in order to properly clip windows to
their parents. Previously, we only clipped if the window would be off
the screen from a negative offset. In the diagram below, we should
expect that if B is a child of A, it can't print in the non-overlapping
area. That is, B can only print in the overlapping region with A because
it is a child of A. This patch fixes this.
+-----------------------------------------------------+
| |
| +--------+ |
| | B | |
| | +---|-----+ |
| | | | | |
| +--------+ | |
| | | |
| | A | |
| +---------+ |
| |
| |
| |
+-----------------------------------------------------+