glsl: replace some C++ code with C
This replaces some new/delete uses with malloc/free.
This is more consistent with most of the other glsl IR code but more importantly it allows the game "Battle Block Theater" to start working on some mesa drivers. The game overrides new and ends up throwing an assert and crashing when it sees this function calling new .
Note: The game still crashes with radeonsi due to similar conflicts with LLVM.