Send full team info to a client who's just joined a team (missing info fix).

Problems have been observed with a lack of info about any given team-mate
until some relevant state is changed. Change is to set the last-sent time
for the client to just prior to the level start time.
refactor consoleState contained geometrykeeping and prepare for removal of mixed virtual/pixel unit handling
refactor cvar checking out of check_resize and cleanly separate some stuff into Con_UpdateConsoleState; let it be rerun after failing cvar validations
make the height part of the consolestate, move its calculation also into Con_UpdateConsoleState and take the borderwidth into account
allow for filled rects to be drawn adjusted or unadjusted
allow for 1px borders and remove most mixing of virtual and px unit usages (scrollbar drawing remaining currently)
clip everything to the console constrains
improve handling of scrolling constraints
animate scrolling with distance-acceleration, and increase page-scroll amount, since we now got a sense of direction
align the scrollbar with latest scrollconstraints and remove virtual-size dependencies
Fix C99 variable declarations.
Correctly handle used scrollback line count == displayed line count.

In this situation, one division results in -NaN which would, uncaught, cause
the scroll handle top to be at INT_MIN. That doesn't make sense.

Instead, since handle height == bar height, force the handle top to be at 0.
Scrollback indicator was being hidden too soon due to scrolling changes.
Set a lower limit on the console scrolling speed.

Need to ensure that, given a low animation speed, scrolling finishes in
reasonable time.
Switch console scrolling to pixel-based.
Clamp console rendering to whole pixels.

Gets a bit blurry otherwise.
Adjust scrolling speed a bit; use float, not int.
Q_CleanStr: char signedness bug fix.

I HATE CHAR BEING SIGNED BY DEFAULT ON x86.
Fix console field width calculation.
Fix string-cleaning code. Would hang on invalid UTF-8.