process Grid State
fun processGridState(featureCollections: Array<FeatureCollection>, enabledCategories: Set<String>, newGridIntersections: List<HashMap<LngLatAlt, Intersection>>, localTrees: Array<FeatureTree>, intersectionAccumulator: HashMap<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