implementation of mruby weakref using boost's smart pointer