dispose method
Releases the worker's engine and store and stops its isolate.
Implementation
Future<void> dispose() async {
if (_disposed) return;
try {
await _request('dispose').timeout(const Duration(seconds: 5));
} on Object {
// A worker that cannot answer is about to be killed anyway.
}
_disposed = true;
_failPending('the worker was released');
_responses.close();
_isolate.kill(priority: Isolate.immediate);
}