RGB <-> LabSpace memoization

PR started to address issue #9 . This is work in progress for comments and direction.

Also if we use the hashvalue of a  float, we shall get back an 32bit int or so and there is so much potential for overflow.