dispose method
Releases everything; configure again to use the SDK afterwards.
Implementation
void dispose() {
if (_disposed) return;
_disposed = true;
_lifecycle?.detach();
unawaited(_stateSub.cancel());
unawaited(_openSub.cancel());
unawaited(_uiEvents.close());
_unread.dispose();
_bottomPadding.dispose();
engine.dispose();
if (identical(_instance, this)) _instance = null;
}