Added the Crosswalk Extensions Runtime header

Needed to access the runtime variables passed by Crosswalk.
Load the python module based on the plugin name

pycrosswalk will look for a python module with the same as the plugin
(without the lib prefix and the .so extension on Linux) and at the same
directory as the plugin. PYXWALK_PATH is not needed anymore.

For instance, let's suppose the symbolic link bellow:

  /home/foo/libfoobar.so -> /usr/lib/pyxwalk/libpycrosswalk.so

The loader will try to load the following module:

  /home/foo/foobar.py

For the following command line:

  ./xwalk --external-extensions-path=/home/foo/
Expose the instance_[created/destroyed] callback to python
Support multiple python extensions

We trick Crosswalk to load multiple extensions using symbolic links, but
the reality is the extension only gets loaded once. The dynamic loader is smart
enough to figure that out.

So all the globals we have on the pycrosswalk plugin are shared. This is
fine, but we need to make sure that the next python extension being
loaded does not overwrite the callbacks set for the current extension.

The only tricky part was with the "instance_created/destroyed" callback,
which needed to be implemented using a closure library for C
(libffcall). I gave it for granted that closures were not possible in C,
but apparently it is using some stack manipulation magic.