rtb_shader_program_t -> struct rtb_shader
fix layout-debug
remove global surface shader

now, each window has its own surface shader. this is better because
generally windows will have their own opengl contexts, so they couldn't
share a global shader anyway.