Support named functions
Use named functions to declare constructors
Use JS hashes in `fayToJsUserDefined` & `jsToFayUserDefined`