communication: save email as drafts to localStorage (#6251)
communication: save email as drafts to localStorage (#6251)

currently, there is no way to store an email draft. so suppose if someone would like to _not_ lose their email progress, we should store a draft as a safety measure.

a cheap way of doing this is by using localStorage. in this, we use <doctype>-<docname> key format in localStorage with the draft mail as the value. the draft is also auto deleted on mail send.

Signed-off-by: Chinmay Pai <ab3234b32bd9ecd2892f3eb0b557ab584a8ff0cf@gmail.com>

Co-authored-by: Faris Ansari <26788494597d70e9b2db9f6aa6332d045e8158f0@gmail.com>
Co-authored-by: Kenneth Sequeira <bd2562f754ec92342f93f61c25d731e290a2ffa8@frappe.io>
yashodhank/frappe,ESS-LLP/frappe,frappe/frappe,RicardoJohann/frappe,ESS-LLP/frappe,StrellaGroup/frappe,adityahase/frappe,vjFaLk/frappe,StrellaGroup/frappe,adityahase/frappe,saurabh6790/frappe,adityahase/frappe,vjFaLk/frappe,mhbu50/frappe,yashodhank/frappe,almeidapaulopt/frappe,almeidapaulopt/frappe,ESS-LLP/frappe,RicardoJohann/frappe,almeidapaulopt/frappe,StrellaGroup/frappe,ESS-LLP/frappe,saurabh6790/frappe,saurabh6790/frappe,adityahase/frappe,yashodhank/frappe,saurabh6790/frappe,vjFaLk/frappe,yashodhank/frappe,vjFaLk/frappe,mhbu50/frappe,mhbu50/frappe,almeidapaulopt/frappe,mhbu50/frappe,RicardoJohann/frappe,frappe/frappe,frappe/frappe,RicardoJohann/frappe