Updated my original .capx post.
You can now scroll the chat while restricting the scrolling intelligently to specific scenarios (see comments in .capx)
This version logs messages to a dictionary but the history of the chat only goes as far as the layout's "margin" setting is set.
I could include a "load from dictionary" when the user tries to look at messages that are longer past than the margin goes.
But that would be a hell of work.
I won't try to replicate a full messenger here. If you want to, go ahead, but I'd say this is quite a base to start from.
With a margin of 2000, this version will be able to save around 100 one-line messages.
I don't know how much a higher margin (i.e. more objects being in the layout but not on screen) affect the performance, but that's to you to figure out.