sub: be more flexible about changes to how subtitles are rendered

For example, if --force-window is used, and video is switched off during
playback, then you need to redecide the rendering method to get subs
displayed correctly.

Do this by moving the state setup code into a function, and call it on
every frame.
command: don't require whitespace before ';' or '#'

This change is probably too simplistic, but most things appear to work,
so I don't care about that now.

Fixes #1232.
sub: remove osd_get_sub()

Trades one strange thing against another, but seems slightly less
strange.
cache: don't relay STREAM_CTRL_AVSEEK if it's unsupported

Thanks to STREAM_CTRL_HAS_AVSEEK, we actually know whether CTRL_AVSEEK
is implemented at all, and we can avoid a blocking wait on the cache if
demux_lavf sends CTRL_AVSEEK even if it won't wait. I'm hoping this
can't currently happen, but why hope if we can explicitly prevent it.
It'll make us more robust against future changes in libavformat.
build: fix 'ar' invocation when cross-compiling

This shouldn't use the host's 'ar' when building static libs. It only
worked until now because Linux 'ar' is usually built with PE support.

Couldn't confirm whether it works, because this dumb crap is just
broken when cross-compiling to mingw.