5087 local storage message

Feedback welcome! Message can be saved and retrieved from localStorage.
As this is not an upstream library, it should go to `lib/assets`.