Changed is_bound to shader_is_bound and assigned as a member fptr. Also fixed a GL error where a uniform was assigned before program used.