Correction: highlight.js is 6 years old :-). And yes, I'm going to look into Rainbow more properly for useful ideas. And I encourage Craig to do the same. Isn't Open Source awesome? :-)
Highlight.js does support Perl, does mark up q{...} as strings and has no problem with quoting in Lisp. I'm not sure about Haskell thing you mention because Haskell is a new contribution. But I'm sure it's fixable if it doesn't do the right thing.
You're probably talking about a hoard of simplistic regexp parsers. Highlight.js is not one of them, it's a proper context-aware parser.