Some inspiration: http://qt-project.org/doc/qt-4.8/qcolor.html#darker

Also, perhaps `darken` and `lighten` should return a new color? That's what Qt does.