Fixes IQM shader path bug.
Conversion towards using GLM as submodule.

This patch begins the process of using GLM as a submodule instead of
requiring the user build it from source. Perhaps other dependencies
could benefit from this as well.
Modifies Callback.init behavior.

This patch adds code to check the return status of a Callback's init
method and remove the Callback if it returns True.
Moves to including GLM as a git submodule.
Divorces make "clean" targets.
Miscellaneous fixes and cleanups.