function lift(color, level) {
    var colorArr = parse(color);
    if (colorArr) {
        for (var i = 0; i < 3; i++) {
            if (level < 0) {
                colorArr[i] = colorArr[i] * (1 - level) | 0;
            }
            else {
                colorArr[i] = ((255 - colorArr[i]) * level + colorArr[i]) | 0;
            }
            if (colorArr[i] > 255) {
                colorArr[i] = 255;
            }
            else if (color[i] < 0) {
                colorArr[i] = 0;
            }
        }
        return stringify(colorArr, colorArr.length === 4 ? 'rgba' : 'rgb');
    }
}
Map value to color. Faster than lerp methods because color is represented by rgba array.
@param {number} normalizedValue A float between 0 and 1.
@param {Array.<Array.<number>>} colors List of rgba color array
@param {Array.<number>} [out] Mapped gba color array
@return {Array.<number>} will be null/undefined if input illegal.