Create zero-copy accessor for image pixels

We can get a rendering performance improvement of approximately 10% by
using a zero-copy mechanism for editing image pixel values rather than
using the Go image library's At() and Set() methods, due to a reduction
in memory copying and type conversions.

Done here with the creation of the new accessor and its application to
the scatter visualization (the case for which the performance difference
was tested) to illustrate its use. The remaining visualizations can be
updated to use this in a subsequent commit.
Use zero-copy pixel manipulation in sweep vis

This one tests as an approximately 45% improvement in rendering time
from the switch - dropping from ~2.5 seconds in tests with the standard
implementation to ~1.4 seconds in a test using a data sample and
parameters representative of anticipated use.
Directly set pixel values in wave visualization

...no need to go through plot() here, since the convenience of taking a
uint32 with a 16-bit range and converting it into an 8-bit color array
isn't really relevant in the context of this visualization.