Added overdraw visualization.

Being able to perform logic before, after, or around was the motivation for the current design, yes. I did also think that some visualizers might want to skip calling a callFunction. As I look through the current code, I only see what would be ``handlePostEvent`` operations though. Only ``program.drawWithVariant(drawFunction, 'overdraw')`` type calls actually do something special with the function.

An earlier version of overdraw.js did a bit more with the function, attempting to show overdraw continuously instead of on-demand (that was too slow). It looks safe to make these changes now.