fix for Safari 5.1 compatibility

- polyfill for official MDN CustomEvent polyfill
- graceful degradation if CustomEvent polyfill fails completely
fix for bug in current Chrome 33 releases

- Chrome 33 is incapable of getting the content of the body:after element
  if it has style "display: none;". The workaround uses visibility and
  moves the element out of the way.
Merge branch 'issues/chrome-computed-styles'