shader compilation now managed by Program class