Look no further, there is a script on PM written by tachyon here -> 115928 that does (similar to) what you want. You might need to tweak it a little bit to colour the exact difference.
Another off-the-shelf method I can think of is to use the package diff2html -