Support string input types (will be used for expressions)
Reduce jank and GPU resource usage:
1. Reuse identical shaders instead of duplicating
2. Initialize fixed shaders when node is created instead of waiting for render