Updating shader subsystem

* shader files can be specified and loaded automatically by other
subsystems.