Parallelize with OpenMP
Convert Image to use a flat array

No more fussing about with double pointers and lots of mallocs.