New graph processor
Streamline the graph evaluation process to reduce overhead. Important changes / gotchas: * get_cached_region is no longer used. The cache bounds are always the full output bounds, but the request will not be expanded. * The cache intersect is calculated after all requests to a node are combined, so partial cache hits from multiple nodes may skip the cache. * Meta nodes (nodes who's pads do not reference them) will never be visited. * Prepare is called only once per node, and must not modify the connectivity of the graph.
Showing with 1006 additions and 1499 deletions