Misc. bug fixes and improvements for rendering Transform Nodes
- inPlace can be a function that gets called for each source on every draw
- Only set dirty on input if value is different
- call optional `update` method on effect node inputs
- separate `renderDirty` property for rendering textures on transform nodes
Remove setters to change width/height on Effect nodes
It wasn't doing anything anyway. Also, fix size on video source nodes.
Rename internal node method setSize to resize
Rebuild 'blend' effect to work with transformNodes
- new input 'sizeMode' to determine how node dimensions are calculated
- use native OpenGL blending for 'normal'

todo: investigate using native OpenGL blending for other blend modes
Fix Source dimensions for videos, arrays, textures
Update resolution uniform on Source node resize
Fix readPixels on Source Nodes

Allow FrameBuffers to use existing textures, so we don't have to double-draw source
nodes on readPixels. It's unnecessary now anyway, since you can't transform source
nodes anymore.
Transform Nodes now can be destroyed
Set correct resolution uniform on Target nodes
Update unit tests for transform nodes
Put render callbacks back in...for now