added IE8 support

IE8 does not support getElementsByClassName. Whereever this is used and
not available I added querySelectorAll for browsers who support this
like IE8. You will still need a polyfill for Array.map like es5-shim in
IE8 though (https://github.com/es-shims/es5-shim)