feat #385 Gestures

Support more gestures: double tap, single tap, long press, drag, pinch

Close #385
feat #404 improve logging in tests

1) Added Assert.assertEqualsWithTolerance(num1, num2, tolerance)

2) Formatted output in Assert.assertJsonEquals

Instead of dumping minimal JSON strings in failed JSON comparison,
pretty-print them.

3) Log to browser console in JSUnit in verbose mode

Currently, the SilentArrayAppender is the appender used in our JSUnit.
This means that things like $logError or $logWarn will not be displayed in
Firebug console.

However, the appender is changed from DefaultAppender in the middle of the
execution, which results in some logs actually being available in the
browser console, but the rest (after changing appender) not.

For debugging purposes, it's useful to see the errors and warnings directly
in the browser when running the test.

This commit adds the possibility to see all the logs if the URL of the
test page contains 'verbose=true' part.

Close #404.