Fix build errors with alloca/isinf/isnan/isfinite, using MinGW on Windows.
Add a unit test for Timer.

Among other things, this unit test times how expensive a Timer is.
Answer: a Timer begin/end takes about 0.3 us on my OSX laptop, around
0.07 us on a souped-up Linux workstation.  YMMV on other platforms.  But
use this ballpark as guidance for the granularity of which things can
safely be timed without the Timer itself making things appreciably more
expensive.
More diagnostics in imagespeed_test to pinpoint bottlenecks
scoped_array template for simple memory management of dynamically-alloced array
ImageBuf perf improvement -- hold local pixels in scoped_array rather than std::vector
in order to reduce needless initialization of the buffers.
ImageCache perf: for tile pixel mem, use scoped_array rather than std::vector
in order to avoid useless initialization of the memory when it's allocated.
ImageCache perf: use scoped_array rather than vector for read_untiled temp memory
ImageCache perf: read_untiled autotile case -- use read_scanlines instead of read_scanline
ImageCache perf: refactor get_pixels to do fewer tile queries
ImageCache speedups -- remove pow2 roundups of autotile tile sizes.
This was an artifact of an old restriction of TextureSystem which is no
longer necessary.
oiiotool - fix minor bug where tiled files were output inappropriately.
Merge pull request #480 from lgritz/lg-icperf

ImageCache/ImageBuf read performance improvements
imagespeed_test improvements: refactor, and add tests of image iteration speed.
We compare pointer arithmetic, versus getchannel(), versus IB::Iterator,
and for each of those for loaded versus cached images.
Convert ImageBuf to use PIMPL idiom to completely hide implementation detail
from the public interface.
Refactor ImageBuf iterators -- move as much common material from Iterator &
ConstIterator into a shared IteratorBase class.
More refactoring of ImageBufImpl and ImageBuf::Iterator for performance.
Make ImageBuf::Iterator/ConstIterator fully inline.
I tried to reduce clutter in imagebuf.h by making many of the methods
implemented in imagebuf.cpp, but I later realized that by making it entirely
inline gives us much more flexibility in changing the implementation in the
future without breaking link compatibility with apps (there's nothing to
link against if it's fully defined in the header).
More ImageBuf refactor: remove virtual dtr, un-inline some funcs.
Merge pull request #482 from lgritz/lg-ImageBuf

ImageBuf internals overhaul
maketx --fullpixels
When given this command, maketx will consider the pixel data window of
the input image to be the full 0-1 texture range, ignoring any origin or
differenly specified full/display window (i.e. pretending that the image
is not, as its header may state, a crop of overscan image).  This is
primarily to counteract weird or buggy behavior in certain paint program
that inexplicably save images that look like crops even when they are
not intended to be.