Grand unified pull request

This one includes quite a few changes (and is a superset of the 'mask8' branch pull request I previously had open but will close shortly.)  This adds many improvements, including support for a 'sse4-16' target that's specialized for computation on 16-bit datatypes, peephole optimizations to match PAVGB and PAVGW, and other optimizations for int8 and int16 targets.