[#76596764] Exports raw blender shadernodes

The future of blender rendering is shadernodes : a node system that allows the artist to manipulate different shaders and create the perfect rendering without a line of code.
This shadernode tree is mostly exportable into an osg file userdata.
It can then later be read and compiled into a real live shader.
Some nodes will not be supported (refraction, ambient occlusion, ...) because hard or even impossible in realtime.
[#76596764] Fixes exporter parameters

Testing for a revision hash doesn't work since it's random.
It would cause an error on some blender versions and not display all exporter parameters.
Fixed by testing the feature rather than blender version.
[#76596764] Adds JSON output for blender materials

There is no reason only shadernodes would get a JSON syntax.
To harmonize the format, the materials can be set as json userdata.
This is set as an option, disabled by default (--json-materials)