Issue title: Save/Load state slots
 Issue body: Multiple slots to save/load state
 Comments: 
 Comment 0: Is there any progress on this?. I started working on a server-backed save state manager (so I can share states between devices), so I wanted to know if any work on this was already done (to avoid reinventing the wheel). 

If there's nothing done yet, don't worry :). Thanks.
 Comment 1: No progress yet, although most of it is going to be copy and paste
 Comment 2: No problem then. Out of curiosity, will you be implementing this on the client (localstorage, IndexedDB, wasm sqlite, etc.) or server?
 Comment 3: I was planning on just implementing this for the quick save slots, so on the client
 Comment 4: It'd be cool to store the states locally and then automatically synchronize with the server when a connection is available, useful for those situations where you lose your connection for whatever reason.
 Comment 5: Normally I dont do server side things, I tend to make it simple for a new developer who knows nothing to operate. You could probably implement this pretty easily
 Comment 6: implemented
{'source': 'GithubIssues', 'repo_name_with_owner': 'ethanaobrien/emulatorjs', 'issue_id': 1081188097, 'repo_stars': 257.0}