Move renderer away from fixed 60hz to lower latency.

The main message/render thread now enters a "hot" state when it suspects
that the UI thread will be done with changes soon. This brings the typical
latency between DOM updates and the start of a render down to 1ms or less.

However, vsync on SwapBuffers() still causes noticeable delay - especially
noticeable as our UI lags the cursor. I haven't experimented yet with
disabling vsync, but not sure it's even possible for a desktop app. But it does
beg the question: How does the cursor get to the screen faster than us?