Switch to using activity.runOnUiThread() for async activities.

ServerInstrumentation.runOnUiThread delegates to Instrumentation.runOnMainSync(). This
will block until the Runnable returns, meaning that further synchronization logic is
unnecessary. This change switches to using the (async) Activity.runOnUiThread call
wherever we have our own synchronization logic since two lots of synching isn't needed.

Signed-off-by: Simon Stewart <simons@fb.com>
Modify the handlers to accept the HttpRequest in the handle() method.

This is the first step in the process of avoiding reflection in the AndroidServlet.
Switch to instantiating all request handlers at iniitialization time.

This removes the need for using reflection for each command processed by
selendroid.
Removing ServerInstrumentation.runOnUiThread(). Use Instrumentation.runOnMainSync() instead.

Signed-off-by: Simon Stewart <simons@fb.com>
Implement a slighter smoother scroll by slowing things down a bit.
sending temporary redirects for inspector uri to avoid issues when the session id changes.
removing log to sysout.
Adding new logo to AndroidDriver.
Fixing touch actions for webviews. #213
updating changelog
Update README.md
Update README.md
Update README.md
Update README.md
Native elements only are asked about visibility and ancestors are
ignored #179.
Update changelog.md
Adding custom native script to check if an element is displayed on viewport.
Merging in changelog updates.
Optimizing performance of HTTP requests handling.

Signed-off-by: Simon Stewart <simons@fb.com>
Optimizing performance of generation random UUIDs.

No more usage of UUID.randomUUID() - it leads to initialization of the java.security.SecureRandom, which can be really slow.

Signed-off-by: Simon Stewart <simons@fb.com>