Track when a gatherer is away or has left the gather

Added a status column to gatherers that will track whether the user is active, away, or has left the gather. The status will be updated from the client-side based on activity.

Leaving will be triggered when the user leaves the gather page. We have a 30 second timer in case the user is just refreshing or comes back quickly. This also adds a notice before the user leaves the page confirming that doing so will remove them from the gather.

In addition, this will also track if a user is actively viewing the page using the "blur" and "focus" window events. If the user does not have the gather page focused for more than 15 minutes then it will change their name in the player list to be italic and a gray color. In the future we can expand this to detect activity in other ways if necessary. Right now, away players are not removed from the gather automatically as long as they have the page open but it is something that can be considered.
I'm not sure why the migration removed this, but I left it as is because I could not find any reference to this table in the code. If this is a mistake, then let me know and I will undo this manually.