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
It is just a little `hack` to avoid `defined('ENT_HTML5') && !defined('HHVM_VERSION')` check for each `enc()` call.
Since it has only in-class caching propose, i prefer to avoid exposing another possible dependency. 

public props = dependency
protected props = dependency (...)
private props = no-dependency