This is helpful for plugins that wish to show overlays that perform
actions when they have mouse focus, such as offering left click actions.
While it's possible to track this within the overlay itself it is difficult
to do correctly when considering overlapping overlays and overlays being
removed while they have focus.
Lets plugins disable the implementation of checkIfMinimapClicked
This is useful for plugins that add custom menu entries, which otherwise
would trigger in addition to a minimap click
BorderLayout does not guarantee equal sizing of its children, so having
a component centered between two components of unequal sizes will leave
it centered relative to their sizes, such as the following:
```
|-----BorderLayout-------------------------------------------|
||----WEST----||------CENTER------||----------EAST----------||
||------------||------------------||------------------------||
|------------------------------------------------------------|
```
Conversely, GridLayout uses fixed, equal-width columns for its children,
ensuring the center component will always occupy the center third of the
parent's dimensions.
P.S. This change causes labels to truncate earlier as they do not expand
beyond a third of the parent container's dimensions. Because the use
case for this component is with small labels, I do not anticipate this
will cause breakage.
Public chat is both replayed and also collapsed. Since replayed messages
don't send chat message events, all replayed messages would be filtered
due to the last message id not being updated for any of them. Instead,
set all stored messages ids to -1 on login, since the ids are
invalidated anyway, and then use it to not collapse replayed chat.
The previous friend chat manager would do this when loading a name into the cache, but now that the cache is gone, we need to do it prior to the lookup