[OptimizeFunctionGraph] Prune the function library to reachable functions in the post-optimized graph.
[OptimizeFunctionGraph] Prune the function library to reachable functions in the post-optimized graph.

Adds an overload `FunctionLibraryDefinition::ReachableDefinitions(const Graph&)` that enables capturing the reachable definitions from a `tensorflow::Graph` (and not just a protobuf-based graph).
