[web] Introduce user list component
Summary:
This component is responsible for selecting, filtering and sorting users. It also renders user rows. Its behavior is configurable by providing functions and component that is used for rendering. It can be used to render both friend and block list.
Providing row component is similar to how e.g. FlatList from RN is used so it should be a familiar pattern. Receiving filter ond compare function allows sharing the biggest part of logic between friend and block list.
Depends on D3644
Test Plan: Provide necessary functions and component and check if users were selected properly and rendered in the correct order.
Reviewers: benschac, atul, def-au1t
Reviewed By: atul
Subscribers: ashoat, Adrian, karol-bisztyga, yayabosh
Differential Revision: https://phabricator.ashoat.com/D3674