Only un-premultiply if we need to

If `alpha` is 0xFF (255) then un-premultiplying does nothing to the
value. So in that case, let’s just not do the work. This is a huge
improvement when the image being scanned doesn’t have any alpha
information.
Cache values that are accessed a lot

This helps performance somewhat because accessing the property each
time through the loop adds a fair amount of overhead given these loops
are over the entire image.
Access the internal array through the ivar

This helps perf somewhat because these methods are called a lot
throughout the processing of an image. Accessing the array using the
ivar rather than the property means no ObjC overhead.
Merge pull request #184 from mattjgalloway/perf_improvements

Perf improvements