Support passing of regex and functions to Go

Previously arguments being passed to Go via an AddFunc callback were
marshalled to JSON first. This is still the case for values other than
regular expressions or functions.

Regexes are now wrapped in a Go *RegExp, while functions are wrapped in
a custom V8Function object, which supports calling the function in the
originating V8 context with the supplied arguments.