visualize both input and output
move the visualization code to the Application class

Kernels now call `visualize(*pbSetOut.begin())` to display the output
buffer or `visualize(*pbSetIn.begin(), *pbSetOut.begin())` to display
input and output buffers.

`Random` displays only the output (there is no input buffer), while
`ground`, `pcl`, and `translate` display both input and output buffers.