Not 100% surprised, and it's longer than others too.  For the large
(e.g. 1024x1024) runs it's now about twice as fast, just by
preallocating the results array and using 'for' instead of 'each'
loops.  Oh well.  Still the slowest.  Perhaps mine uses less memory ;-)