Added id function.
Shaders behave like smart pointers. Once attached to a program, they can be retrived later.