Support named functions
Use named functions to declare constructors
Use JS hashes in `fayToJsUserDefined` & `jsToFayUserDefined`
Extract `fayToJsHash` & `jsToFayHash` out of *Dispatcher functions