RGB <-> LabSpace memoization

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

Btw I just noticed that we are doing ops on floating point numbers. Shouldn't we actually be doing stuff tot he RGBA vector's r, g, b and a values like I was originally?