added scoped_bind and scoped_use

Renamed the gladus::binding class to gladus::scoped_bind, and added the gladus::scoped_use class which performs the same operation, but for use/unuse function pairs. Minor other tweaks.
added shader.hpp and program.hpp

Added the gladus::shader class that loads and compiles shader code. Added the gladus::program class that links together multiple compiled shaders to a runnable program. Both classes perform proper error checking and provide full feedback about the compile and link procedures.