account for screen/viewport differences in FOV calc

This new calculation for auto-FOV preserves the original Quake behavior of
having a fixed horizontal FOV even when the viewport shrinks within the screen.

With these changes, reQuiem at 640x480 with cl_sbar 1 shows the same view as
GLQuake at 640x480, given a viewsize of 100 in both cases (which doesn't fill
the screen because of the statusbar).

When you start shrinking the viewport (decreasing viewsize), reQuiem's display
is a little different than GLQuake's, but that's because reQuiem's viewport
isn't as tall as GLQuake's once you start shrinking it. That is a different
issue (if it could be considered an issue at all); the relevant thing for this
change is that the horizontal FOV of the viewport is the same.

Also: if the screen's current aspect ratio is 4:3, then changing fov_adapt will
(correctly) not change the end result of the FOV calculation. The math will only
give varying results for varying values of fov_adapt if the screen has some
other aspect ratio.