Added client-side multi touch screen

Here's the client side implementation of the multi touch screen

Actions can be performed by building a touch action chain and then executing with a MultiTouchScreen.

This is a low-level api (pointer up, pointer down, pause) for multiple fingers, on top of which nicer abstractions can be built (pinch, drag, long presses)

Single finger example
```
TouchAction ta = new TouchActionBuilder().pointerDown().pointerMove(x, y).pointerUp().build();
driver.getMultiTouchScreen().executeAction(ta);
```

Multi finger example (these will be executed in parallel):
```
TouchAction finger1 = new TouchActionBuilder().pointerDown().pause(100).pointerMove(x, y).pointerUp().build();
TouchAction finger2 = new TouchActionBuilder().pointerDown().pause(100).pointerMove(x, y).pointerUp().build();
MultiTouchAction multiAction = new MultiTouchAction(finger1, finger2);
driver.getMultiTouchScreen().executeAction(multiAction);
```