fixed some mutex circular dependency issues

when ever a private mutex is kept locked around a lock/unlock
sequence of aug_lock_screen and aug_unlock_screen we run the risk
of a circular dependency which will result in deadlock. these
changes simply tighten the critical segments to the minimum
necessary statements (something that i should have done anyway).

specifically, i eliminated any subroutines in a critical section
of the ui module and the window module which might call any
aug API functions. as far as i can tell, these subroutines did not
need to be in the critical section anyway.