* add state manager with demo file
* remove initial state
* move Store type to Store.ts
* add new actions
* change store schema
* add docs
* type -> interface, add deepCopy function
* move types to the /types/ folder
* rename types files, change state type (add blocks: key)
* fix createStore.ts func
* add documentation for reducer
* use BlockMutationType instead of ActionType
* add doc
* deep copy of initial state
* add doc for createStore
* Apply suggestions from code review
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>
* rename `reducer` to `blocksReducer`
* add a listener type, pass changed state to the listener
Co-authored-by: Peter Savchenko <specc.dev@gmail.com>