[๐ด] Finalize web message screen (#3868)
* add `onStartReached` to web list
* fix `rootMargin`
* Add `contain`, handle scroll events
* improve types, fix typo
* simplify
* adjust `scrollToTop` and `scrollToOffset` to support `contain`, add `scrollToEnd`
* rename `handleWindowScroll` to `handleScroll`
* support basic `maintainVisibleContentPosition`
* rename `contain` to `containWeb`
* remove unnecessary `flex: 1`
* add missing props
* add root prop to `Visibility`
* add root prop to `Visibility`
* revert adding `maintainVisibleContentPosition`
* remove unnecessary wrapper
* add style
* oops
* maintain position for web
* always apply `flex: 1` to styles when contained
* add a contained list to storybook
* make `onScroll` a worklet in storybook
* revert test code
* remove unnecessary `flex: 1`