Implement ShaderProgram/ShaderCache, implement more of GlobeSurfaceTileProvider