break up make_graph() into more manageable subs

Separate out creating the figure/axes, plotting data, and saving
the plot as a rendered image into three different functions.

Will make it easier to add in more information and different plots
in the future. Also should enable generating figure/axes just once
per run and reusing them for each turn, speeding things up a bit.

Also added a couple of TODO notes about bugs and flaws.