Fix main loop problems, fix demo problem

If movement is smooth and the window is focused, the renderer should
refresh as often as possible.  If the OpenGL renderer is used, the
renderer should refresh as often as possible no matter what.  I'm not
even sure window focus should make a difference at all (in the non-GL
case).

There were various problems reading commands from player command
buffers, all fixed now (seemingly).

I'm still wondering when to only use 14 bytes for game option arrays in
savegames/demos and when to use 64 bytes.  It seems like never?

Updated TODO; getting closer!