This Patch is for getting working Caja on PHP. To generate the cajoled content uses the command line utility of caja.
The flow is like this
1 - The content of the Gadget will be rendered on GadgetHtmlRenderer
2 - If the Gadget Requires caja then, GadgetHtmlRenderer saves the uncajoled content of the gadget on the file system (location defined on container.php)
3 - Then GadgetHtmlRenderer will call to Cajoling class that will take the uncajoled content of the gadget and will run the cajole process.
4 - After that, Cajoling will return the custom content to run on the Browser with the Caja Runtime.
This patch requires the binaries of Caja installed on the System (I choose features/bin/caja-bin for put this files, this can be changed on container.php).
The PHP service requires the exec function to execute the caja process.
For testing propouse I use a single gadget file (attached to the Issue).