Basic framework for rendering

Rendering is done in a separate QThread.  Each shape object gets its own
thread and keeps track of whether it needs to be re-rendered.

At the moment, rendering is a dummy operation that takes some time then
returns.