open file dialog if no file was passed as an argument
monitor shader file changes using dumb file write time polling