First installment of porting mutex code from the enter() / leave() model to CriticalSection()