Gpu shader/program abstraction