Simplified the Transform usage in the gpu::api

- no more pointers, just values. Improved the Transform by compressing the memory footprint
- Re factoring the input stage cache into the GLBackend::InputStageState  struct just like TransformStageState