Add support for HHVM

Addresses #18 

It removes the constants and returns them in the method. We loose the ability to do "MyGrant::GRANT_TYPE", however.
As discussed on IRC, we may just use `hhvm-nightly` for now.