Do "SCROLL to change player" visible in any standard aspect ratio

Above text was cut for aspect ratio 5:4 (quite much) and 4:3 (a little) for
previous value "left = (VIRTW*3/2)*6/8"
Two fixes concerning items selection in menu

The first fixes the last use of menusel, that wasn't checked for range yet.
The second one brings menusel back into range, if there is no
refresh function.
Show list of demos in "Download demo" menu
Prevent displaying remote servers on startup of LAN servers browser

After startup of LAN servers browser there appeared sometimes also remote
servers, instead of only LAN servers.
I such case "si.lastpingmillis=servermenumillis" for all remote servers.
So this commit changes a little existing condition, to prevent above
problem.
Drop activated grenade, when player switches to edit mode
Turn off sniper rifle's scope during intermission
Disable listdemos and getdemo in singleplayer
Removed unnecessary restrictions of switching to SPECTATOR team

Note: spectate() function doesn't have such restrictions.
print more version info during init

also fixed parsing the audio device string
remove non-thread-safe function call

conoutf can't be used from any thread other than the main one.
clientlogf may still mix up the output, but it won't crash.
Allow persistent spectating concrete player in multiplayer

For spectatepersistent = 2 that is always enabled (that means,
that spectated player isn't changed after his death),
for 1  - only in non-arena modes.
Remove unwanted togglespect after disconnection of spectated player

If you watched from the first spectate position (SM_FOLLOW1ST), and that
player disconnected, you got switched to the second spectate position
(SM_FOLLOW3RD), instead of stay in SM_FOLLOW1ST - this commit fixes that.

Commit also replaces some togglespect() with spectatemode(SM_FLY), which is
executed, when there are no players to watching.