Aside from in the future work with a contract, I would also recommend breaking all projects up in to phases with incremental payments. That way you are satisfied the client is paying and the client can verify they are happy with the work. And you'll find out if there are going to be issues early on.
Sounds like things are getting out of control with this project as far as scope and payments.
I would setup a scope of work in phases for what you quoted initially. Note what is completed. Then setup a reasonable time frame to complete the remaining items along with incremental payments and an initial payment to cover some of the work you completed above the initial deposit.
Be careful with this as far as when you can complete it and how much payment you expect. If things are way more work than they should have been now is the time to ask for extra time/money. And if you can pad your schedule some I would do that as well so you meet all the remaining deadlines to keep them happy and paying.
This will document that you have far exceeded what they have paid for so far . . . in their initial payment.
Once you have this, contact them and let them know you are committed to completing the project this is the time frame and payment schedule you are proposing to make it happen.
If they balk at doing this I would indicate you will send them an invoice for the work completed beyond their initial payment and you'll be happy to provide their next developer with a summary of the status of the project to get them up and running.
Follow up and send them an invoice for the % of work completed. Best case they pay this . . . but this is mainly to allow them to screw you by not paying this invoice and not think about trying to ask for their initial deposit back.
They might not be as mad as you think and just want a cost/time frame for their project so if the scope is out of line you could even propose more fee. To cover items they have added or if the existing app was in bad shape.
You should probably weigh if you'd be happy getting away from this project with just their initial deposit. If so you might want to try to go the invoice for % complete route and move on to other projects.
Good luck.