Короче ресерчил ресерчил... решил побаловаться со смешиванием цветов. Итог:
jsfiddle.net/2MHPh/2
Правда ускорение тут есть только для повышения яркости. Методов вычитания цвета нету, а что бы добиться понижения яркости сложением нужно два раза инвертировать изображение (исходник, можно инвертировать перед операциями заранее, и результат). В этом случае производительность будет явно такой же.
jsperf.com/imagedata-manipulatioons - сравнение производительности. Каждый тест-кейс по сути представляет собой обработчик события изменения значения яркости.
Update:
Сделал инверсию через мод смешивания "difference".
jsfiddle.net/sjGcA/2
теперь это полноценная реализация. Разницу стоит смотреть на мобильных девайсах.