Added overdraw visualization.

Agreed, though I'm uncertain about how to make this better.

For events such as ``setContext`` and ``linkProgram``, DrawCallVisualizers perform their setup. If events were restricted to while active only, then these visualizers would not be ready to run  without doing extra work.

Perhaps only the active visualizer receives events and DrawCallVisualizers run through the playback again upon being triggered in order to listen to all events and perform their setup.