Multiple changes

- Moved GLSLString and GLSLStrings into a separate header.
- Changed the signature of Shader::CompileInclude.
- Added the Program::Build and Program::BuildInclude functions.
- Updated examples to show the new features.