New3dapi, cleanup and use separate renderer per shader