Reimplement has_call_callback using ir_hierarchical_vistor
Reimplement has_call_callback using ir_hierarchical_vistor

This has the added advantage that it will stop traversing the tree as
soon as the first call is found.

The output of all test cases was verified to be the same using diff.

KTXSoftware/glsl2agal,zz85/glsl-optimizer,djreep81/glsl-optimizer,mapbox/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,bkaradzic/glsl-optimizer,tokyovigilante/glsl-optimizer,adobe/glsl2agal,dellis1972/glsl-optimizer,dellis1972/glsl-optimizer,metora/MesaGLSLCompiler,zeux/glsl-optimizer,KTXSoftware/glsl2agal,jbarczak/glsl-optimizer,djreep81/glsl-optimizer,dellis1972/glsl-optimizer,wolf96/glsl-optimizer,benaadams/glsl-optimizer,tokyovigilante/glsl-optimizer,mapbox/glsl-optimizer,tokyovigilante/glsl-optimizer,bkaradzic/glsl-optimizer,benaadams/glsl-optimizer,zeux/glsl-optimizer,zz85/glsl-optimizer,wolf96/glsl-optimizer,dellis1972/glsl-optimizer,zz85/glsl-optimizer,KTXSoftware/glsl2agal,zz85/glsl-optimizer,jbarczak/glsl-optimizer,metora/MesaGLSLCompiler,tokyovigilante/glsl-optimizer,benaadams/glsl-optimizer,djreep81/glsl-optimizer,mapbox/glsl-optimizer,djreep81/glsl-optimizer,tokyovigilante/glsl-optimizer,dellis1972/glsl-optimizer,mcanthony/glsl-optimizer,KTXSoftware/glsl2agal,zeux/glsl-optimizer,jbarczak/glsl-optimizer,mcanthony/glsl-optimizer,zeux/glsl-optimizer,wolf96/glsl-optimizer,wolf96/glsl-optimizer,jbarczak/glsl-optimizer,benaadams/glsl-optimizer,mcanthony/glsl-optimizer,adobe/glsl2agal,zz85/glsl-optimizer,metora/MesaGLSLCompiler,bkaradzic/glsl-optimizer,bkaradzic/glsl-optimizer,adobe/glsl2agal,adobe/glsl2agal,adobe/glsl2agal,mapbox/glsl-optimizer,zz85/glsl-optimizer,jbarczak/glsl-optimizer,djreep81/glsl-optimizer,mapbox/glsl-optimizer,KTXSoftware/glsl2agal,wolf96/glsl-optimizer,mcanthony/glsl-optimizer,benaadams/glsl-optimizer,mcanthony/glsl-optimizer,bkaradzic/glsl-optimizer