Set modifiers explicitly in _addKeyToQueue(). Calling _sendKeyWithModifiers() to enqueue keys with modifiers caused infinite recursion when enqueuing keys that required modifiers. For example, "100%" requires shift modifier, because percent character on US keyboard is shift+5.
Added centerPoint() to calculate the center coordinate of an object. Also added click() and doubleClick() for clicking the center of objects.
Added tableCell() method to access AXTable cells.
Added a global default event interval (defaultEventInterval) to control the speed at which events are sent.
Added methods to move the mouse.
Added methods to drag and drop.
Added method waitUntilValueEquals() that tests AXValue equality to an expected value by polling it at a specified intervals.
Added method waitUntilEnabled() that tests AXEnabled by polling it at a specified intervals.