ipcdclient.cpp: Use a shared critical section instead of the slowlish PRMonitor thingy. The origianl code mentions that a monitor is a bit overkill and PRLock would've sufficed if it only was recursive. I've tried taking this a bit further by using a shared lock so that GetTarget() and IPC_OnMessageAvailable() doesn't need to do exclusive access.