WebGL rendering framework