A proof of Thurston's topological characterization of rational functions | Synapse