HHVM support & compatibility v2

This is lighter solution of #104, without introducing arguments API etc.

ping @milo for review
This is unclean as the property could theoretically not exist, but I'm not convinced about some robust arguments/parameters API. :S