Create a new set of bindings to use for serializing the work graph nodes to the instant execution cache.Also allow a codec to create a nested context with a new isolate and codec to use for serializing nested objects. Use this to maintain a single isolate for all work nodes with nested isolates for each task instance.
Change instant execution serialization to write the edges between work nodes to the cache, instead of the dependencies between tasks.This will allow nodes other than tasks to be deserialized and added back to the work graph. Also short-circuit the node dependency calculation when reading nodes back from the cache, as the calculation has already been done.
Change instant execution to serialize all work nodes to the cache, rather than just the task nodes.In this change, only a placeholder is written to the cache for node that are not task nodes, and this are discarded on read.