* added single_pass option to render()
* added channel::view()
* added kernel operation
* small optimizations