Add IPC messaging between sandbox and shovel, and fix tests

Sandbox.postMessage sends messages through to the sandboxed code
User code can handle incoming messages by defining global `onmessage` function
User code can send messages through to the outside of the sandbox by using global `postMessage` function
Sandbox.on('message', function(message){...}) can be used to handle messages sent by sandboxed code
Added tests, example, and documentation