Features
参照カウンタ付きオブジェクトを保持する.
Usage
var disposed = false;
final ref = SmartReference.wrap(
reference: 100,
dispose: (value) {
disposed = true;
},
);
ref.addRef(); // ref == 2;
ref.release(); // ref == 1;
ref.release(); // ref == 0, call dispose();