Extension support for embedding API

Good catch, the issue is introduced by `XWalkExtensionAndroid`, there might be memory leak. `mExtension.destroyExtension()` can be called but the extension instance in C++ side still keep valid. Since it is not this PR specific, can I do not separately?

As for the namespace, the extension namespace will keep there until the browser process get released. This is common for C++ and java extension. There is no mechanism to remove an extension on the fly, mainly because happens very rarely. Note, all extensions will be lazy binding, which means if you does not use, the namespace won't be there.