Added comparison operators, hash function, and key equality function
so that other classes such as program and texture can use their id
object as the basis for their comparison and hash/key equal functions.
Initial implementation of comparison operators, hash function, and key
equality function based on the program_id.
adding glm and soil for examples