Optimize contiguous buffers for make_texture

Assumes contiguous ImageBuf allocations and implements a 2-pass downsample that avoids using Iterators or NDC coordinates. Slight optimizations when writing contiguous buffers. Adds a few new option attributes to make_texture.