[Extensions] Fix race condition in EPH, fix flaky CloseNativeWindow

The message filter used by EPH in certain conditions could try to post a
task to UI thread calling EPH. If EPH is destroyed and the message is
still enqueued, we crash.

The MessageFilter was posting a task instead of directly calling in IO
thread because EPH was trying to remove the filter, since we need to
track that message only once. Removing the filter should be called from
the UI thread (which is the "client" thread for IPC::SyncChannel).

This patch makes the code correct, removing the flaky crashes in
CloseNativeWindow browsertest. Next patches will address the TODO item
added by this patch: whether we can use only one MessageFilter.

I split the code this way so we choose whether we apply just this fix to
the current Beta branch or the remaining changes.

BUG=https://crosswalk-project.org/jira/browse/XWALK-153
[UI][Tizen] Create NativeAppWindowTizen

Instead of adding custom behavior into NativeAppWindowViews behind
ifdefs, we create a proper subclass for Tizen. This allow us to
implement observers directly in our window, for example the sensor
observer.

This is a preparation for allowing the window to tell the indicator
which orientation it should paint. In the previous design (using
TizenSensorObserver) we would end up adding more couple (or more layer
of indirection) to accomplish this.

There are some "ifdef" leftovers in NativeAppWindowViews, but can be
moved in later patches.
[Extensions] Reduce boilerplate for external extension tests

Two changes collaborate here to reduce the boilerplate:

- Make a specialized static function to store the external extension
  path for tests, so no reference to a concrete XWalkExtensionService
  is needed.

- Now that we do not need the reference use SetUp() function instead of
  the callback for registering extensions in tests. This change make the
  service passed in that callback unused, we'll remove in the next patch
  to keep this easier to review.

A helper function was added to get the path where an external extension
built for test is.
[Extensions] Remove service parameter from register test callback

XWalkExtensionService allows us to register a function to be called
every time a new XWalkExtensionServer is created, so tests can register
specific extensions. This function may be called multiple times because
we create a (in process) server per Render Process created.

The callback also received a service parameter, to be used for setting
the path for external extensions to be loaded. But the previous commit
changed how tests handle this, so the parameter can be removed.
[Extensions] Add RegisterExtensionForTest() function

This is a small convenience function that reduces the boilerplate when
registering extensions in tests.
Merge pull request #1101 from cmarcelo/reduce-extension-tests-boilerplate

[Extensions] Reduce extension tests boilerplate
Merge pull request #1102 from cmarcelo/native-app-window-tizen

[UI][Tizen] Create NativeAppWindowTizen
Revert "[UI][Tizen] Create NativeAppWindowTizen"

This reverts commit bd10f497110662662e39e738f91e246d058b5356. It was
still a draft, testing pending.
Merge pull request #1105 from cmarcelo/revert-draft-merge

Revert "[UI][Tizen] Create NativeAppWindowTizen"
Merge pull request #1104 from jeez/extension-module-fix

[Extensions] Check if reply is valid after a SendSyncMessageToNative
Bump version to 3.31.34.0
V8 profiling patch
Fixed the patch_util script
[Android] Fix XWalk crash issue when exiting if remote debugging is enabled.

The root cause is that DevToolsHttpHandlerImpl::Stop has been called before
DevToolsClientHostImpl::InspectedContentsClosing. In that case, the thread
is released and message loop is set to null, so XWalk crashes.

The fix is to change the teardown sequence to destory view first, then shutdown
remote debugging server.

BUG=https://crosswalk-project.org/jira/browse/XWALK-312
Merge pull request #1079 from dp7/master

Merge V8 XDK profiling patch.
Merge pull request #1099 from cmarcelo/eph-fix

[Extensions] Fix race condition in EPH, fix flaky CloseNativeWindow
Merge pull request #1115 from huningxin/remote-debugger-crash-fix

[Android] Fix XWalk crash issue when exiting if remote debugging is enab...
[Android] Add version number tracking for packing tool.

The version number of packing tool is the same as that of XWalk.
With the version, it would be easier to track bugs for packing tool.
Usage: python make_apk.py -v

BUG=https://crosswalk-project.org/jira/browse/XWALK-163
Merge pull request #1087 from junmin-zhu/version

[Android] Add version number tracking for packing tool.
[Extension] Adding a Crash Extension and a crash "demo"