Browser local and session storage for streamlit

I spend a bunch of time solving the problem with asynchronous nature of Streamlit <=> Browser communication and forked the streamlit-javascript library to inform if the js call (e.g. reading/writing localStorage) is finished and you can actually use the value.

More details in this discussion