process Grid State
fun processGridState(featureCollections: Array<FeatureCollection>, enabledCategories: Set<String>, newGridIntersections: List<<Error class: unknown class><LngLatAlt, Intersection>>, localTrees: Array<FeatureTree>, intersectionAccumulator: <Error class: unknown class><LngLatAlt, Intersection>, grid: TileGrid)
processGridState is now called from within the single thread that can access the tile grid. This makes it somewhat performance critical. However, by doing this it allows us to disconnect and reconnect the tile grid