extend MakeCallback

MakeCallback can now also directly accept the function callback for when
it has been stored Persistent.
begin switching callbacks to persistent

None of the internal API requires that callbacks assignations change
after being set. So instead of waisting cycles fetching the function
from js, instead cache it as a Persistent.