OverlayMask has some bugs in it that cause it to sometimes render improperly.
1. It uses 2 semi-global variables to check if the target of the overlay is the window or the document. However, the target can be different across multiple overlay masks, so these values should be per instance.
2. The _uiSetXY method gets called during the sync phase, and if the page is scrolled when the sync phase happens, it will calculate the scrolled XY. However, when it's a full page overlaymask, we shouldn't bother setting the XY (it will always be 0,0).