Multiple changes

- Added specialization for Group<Shader>.
- Added the AttachShaders function to program.
- Refactored the text rendering utilities to use Group<Shader>
  instead of variadic templates.