// our Capture/ReleaseMouse() maintains the stack of windows which had
// captured the mouse and when ReleaseMouse() is called, the mouse freed
// only if the stack is empty, otherwise it is captured back by the window
// our Capture/ReleaseMouse() maintains the stack of windows which had
// captured the mouse and when ReleaseMouse() is called, the mouse freed
// only if the stack is empty, otherwise it is captured back by the window