Add weak_ptr (refs #121)