This function synchronizes the use and update of the visible region by allowing all current and pending drawings to finish and then blocking any requests to draw from other threads until GreUnlockDevice is called. On exit, the only thread allowed to continue with screen operations is the one that acquires the lock. To prevent deadlock, GreDeath cannot be called while the visible region is locked.