Made chart generation super fast.
create_process_tree() used psutil's Process.get_children() to get the
children of a process, which meant that, for each process, the entire
list of processes was iterated over. Using p.parent, however, is fast,
so I modified the code to iterate over all of the processes only twice.

In addition, I set ptree and pmap to be indexed by PID rather than
process object to prevent KeyErrors.