VMDataBridge - Passing information out of the VM mid-execution

@lukechurch @ikeough

This PR contains a new library, `VMDataBridge`, that allows for external libraries to register callbacks that will receive data from the DS VM mid-execution. It also contains changes to the `Watch` and `Watch 3D` nodes that leverage this library in order to live-update while the VM is executing.

Not only does this allow you to visualize data changes inside of loops (as demonstrated by my previous Game of Life demo), but it also allows you to see data inside of a Custom Node:

![customwatch](https://cloud.githubusercontent.com/assets/1699155/3543542/53a10de8-0863-11e4-8190-84fb2b04f50a.PNG)