Add convenient methods.
Add an abstract array off screen painter.
Fix race condition: Set running to true before starting the thread.
Use the new array painter.

Render the dirty region in one go.