Many improvements. See full comment.

Improvements include:

* Scrolling messages to fill void space
* Locking messages while iterating
* Some refactoring
* Now pausing messages that go off-screen due to window resize