[Extensions] Add XWalkJSModule

A XWalkJSModule implements the XWalkNativeModule interface by executing
a JavaScript code everytime an instance is required. This allow us to
easily provide JS helpers and libraries to extension writers.

This will be used to remove the global definitions we use for "internal
extensions" functionality.
[Extensions] Change how "internal extension" helper is exposed

When writing extensions inside Crosswalk, we have the option of
generating an input validator / parameter serializer based on an IDL
file.

We exposed this facilities inside a "xwalk" namespace and wrapped them
for each extension being loaded. Unfortunately this also ended up
exposing these functions to web content.

This patch changes the code to use the new XWalkJSModule. The setup
process became a different, now extensions that use this facility,
should do:

   // Setup for using the facilities.
   var internal = requireNative("internal");
   internal.setupInternalExtension(extension);

   // And to post a message.
   internal.postMessage(...);

Most of the code used to create an 'internal' variable anyway, so in
practice this change affects only the setup.
Merge pull request #957 from cmarcelo/js-module

[Extensions] Add support for requiring JS modules