In order to use a hook that will get user mention candidates that are resolved, we need to first extract the logic to compute user chat mention candidates outside of the class component. There are two steps to this:
1. Lift the `selectionState` out of the class component
2. Move the computation logic out of the class component
This diff just covers step 1, and the following diff will cover the next step.