* Make Keys handler release key actions when done
* The global meta state should be released after 'keys' is called
* Also fixed the undoAll... don't call 'keyUp' if key is already released
* Add single touch actions
* Changed sleep method to use `uiController.loopMainThreadForAtLeast` instead of `SystemClock.sleep`. `SystemClock.sleep` was delaying UI changes
* Rename performActions and releaseActions to 'perform' and 'release'
* Add more logging
* Callable should be using Thread.sleep and not SystemClock or the UiController sleep methods
* Fix finger identifier
* Don't check that x,y is positive.... we can have negative x,y relative to element/pointer
* Add tests for multi touch (they work!)
* Fix: Call 'synchronousTickActionsComplete' after undoAll is called
* Calling 'undoAll' dispatches all of the release events but doesn't call them
* Dispatching queues up TOUCH events but doesn't invoke them until 'synchronousTickActionsComplete' is called
* This is because TOUCH events need to be grouped together so that they can comply with Android's "consistency guarantee" (`For touch events, consistency implies that pointers go down one at a time, move around as a group and then go up one at a time or are canceled`)