More optimizing, brought back double-buffering

It turns out that the rendering is slower with one thread for
drawing/rendering. Will add a chunked rendering system later on.