node: don't share state with in_tick/last_threw

There was no need to share state between C++ and JS for these two
values. So they have been moved to their respective locations. This will
help performance only a tiny bit, but it does help code complexity much
more.
src: use function to get internal pointer

Remove the NODE_{WRAP,UNWRAP} macros and instead use template functions.
src: don't use WeakObject::Unwrap

Switch out to use UnwrapObject from util.h.
src: don't use class specific Unwrap methods

Instead use the template functions in util.h.
src: shorten Object{Wrap,Unwrap}

Going back to the original names of Wrap/Unwrap now that most all the
class members that duplicate the name and functionality have been
removed.