Я делал достаточно простое решение:
- Страницу макета забрасывал в PS, сводил слои, инвертировал и делал прозрачность 50%.
- Выгонял результат в PNG с альфа-прозрачностью.
- На страницу подвешивал две кнопки, с JS логикой, которая поверх верстки выводит инвертированную исходную картинку (и когда надо, не инвертированный исходник с той же 50% прозрачностью).