Can you explain a bit more about what you're trying to do (conceptually, not in terms of the code)?
From what I can tell, save_settings() in your assignment type plugin is called automatically from the assign module, and passed the data from the settings form. If so, you won't be able to pass the form in as you've found out, since the save_settings() method needs to have a specific signature for this to work.
You shouldn't need access to the mform object to save a file. If you've got the data from the form that should include info about the draft location the uploaded file was stored in. With that, you can use Form API functions to move it to where you want it to be. There's also specific docs on using the file API with forms. Hopefully reading those will shed some light on the matter.