Make JavaScript function wrappers typesafe.

Use the v8::Signature parameter to FunctionTemplate::New to guarantee that the info->Holder() is of the proper type when `php_v8js_php_callback` is invoked.

Add test case demonstrating the segfault (which is now prevented).