optimizations for Pixel_t

Pixel_t is now a struct that maps to a triple of unsigned chars (RGB for now). This avoids the costly indirection
that the stand-alone pixel list brought on. It does mean that the Image buffer needs to be transposed if the run
processing orientation changes, but that'll be goodness anyway (the two directions will have more uniform perf). This
also left behind some gnarliness regarding the VAL functions, but that's ok too since it's isolated.

TODO: Fix COL sorting since it is now broken and commented out
TODO: Parallel run processing since serial qsorts are now the bottleneck
TODO: Handle N-components. This probably means extra bytes, but that's not so bad, right...?