generalize the `Option<NonNullablePtr>` to libs

An `Option<Rc<T>>` is now 1-word, like the built-in non-nullable pointers.