LAB gets its own class

I'm creating this changeset as a pull request rather than pushing directly to color/master as I'd rather you reviewed it and approve of the direction I'm going here. 

#contrast can now be passed a symbol to specify which algorithm to use. We have 3 algorithms available at present.