GpuContext and Gpu refactorings