add work-in progress JSON serialization

A few issues remain:
- Reliable class type serialization
- Not all port types have values to serialize - FBOImage and Texture
add default value handling to node port
set default node port values where appropriate