Compatible with facebook HHVM 3.1

This patch to make HTML5 compatible with HHVM contains also workaround to avoid this https://github.com/facebook/hhvm/issues/2962
@sebastianbergmann @ptarjan I've opened an Issue here: facebook/hhvm#2992