support shadow flag and accessors in model_t.
add empty shadow_mapping shader program.
add support move insertion to program_t.
add support create the shadow_mapping shader program feature and auto enabling shadow feature.
change from infoke to invoker.
change to internal implement for multi-pass rendering.
remove unused code.
update renderer internal code for use shadow mapping.
update shadow_mapping vs.
implement shadow mapping vs code.
implement shadow mapping fs code.
implement internal changes for multi-pass and shadow mapping.
internal implements change to smart pointer type.
add support error throwing.
fix texture bindings.
refactoring
reformat
support GL_INVALID_FRAMEBUFFER_OPERAION and default error pattern.
support deferred exception pattern.
support scoped_enable and is_enabled.