HHVM support & compatibility v2

This is lighter solution of #104, without introducing arguments API etc.

ping @milo for review
I don't know, this is imho less error prone.