Vastly improved shader error reporting system. Warnings now get detected and printed out. Reduced code duplication