Add CIE76 and CIE94 algorithms

!! NOT READY TO MERGE !!

The default diff algorithm will be CIE 94, as it provides results that are very close to that of CIE 2000 with a not-insignificant increase in performance. For the same image with different diff algorithms, CIE 76 and CIE 94 both resulted in a run time of 40ms, while CIE 2000 resulted in a run time of 46ms for n = 1000. 

The API consumer can choose between CIE 76, 94, and 2000 by passing a value for the optional `accuracy` parameter to `dominantColorsInImage()`. 

This is pending on #13 being merged.

This is an example of function currying. `CIE76SquaredColorDifference` can be returned directly because it takes 2 vectors as parameters. `CIE94SquaredColorDifference` and `CIE2000SquaredColorDifference` use currying. Calling those functions with no arguments returns a new partial function that accepts 2 vectors, it doesn't return a `Float`. Check the signatures for those two functions to see how it works :)