add comments and a minor fix

Almost rewrote widget_absolute_area(). Now it should work fine for
window widgets.