Actually, there is single mutex for everything. That is required by X11 anyway and semi-required by Win32.
In fact, after some thinking, I have decided to scratch the idea of "per widget" locking and replace this global mutex available.
Also, Ctrl::Call is now implemented and thus you can absolutely anything in threads with GUI (but some things are being performed in main thread using Call).
So the final rule for MT GUI programming is pretty simple:
If you are going to call any method or GUI function, you have to lock the scope using GuiLock helper guard (or EnterGuiMutex/LeaveGuiMutex pair).