Refactoring for WebGLShaders

- #4129
- split up files
- added new files descriptions to docs