Remove as many chats as necessary to get under the limit.

Before, if you scrolled up in an active meatspace, you could end up
with a large number of chats in your buffer. When a new chat came in,
only the top one would be removed, leaving you with an equilibrium
potentially much higher than the actual limit.

With this change, when a chat comes in and a user is scrolled to the
bottom, all of the chats above CHAT_LIMIT will be removed, instead of
just the top one.
Merge pull request #168 from tec27/chat_limits

Remove as many chats as necessary to get under the limit.