Add support for the Element.classList interface

The classList interface has been available since IE10, and is quite
widely available on modern browsers. Using this provides a hefty
performance increase when highlighting large documents
Merge branch 'peitschie-classapplier-perf-tweak'
Reworked add/remove/hasClass and code relying on them