Stateless Userdata

Userdata's state is no longer kept in C++ and thus all `userdata<T>` C++ objects can be discarded after registration.
Because the pusher<T> actually _releases_ items from the userdata<T>. The other choice was "friending" the pusher, which is probably a better way to do it?