* fix: unload model on cancel when immediate unload enabled
adds model unload check to cancel_current_operation() to match
the behavior in transcribe(). previously, cancelling with escape
would leave the model loaded even with "unload immediately" enabled.
fixes#479
* also fix model not unloading if there is empty transcription
* refactor to util function
---------
Co-authored-by: CJ Pais <cj@cjpais.com>