JamesDunne's 32bpp rendering mode; enable via `vid_32bpp` cvar.

Removed `vid_defbits` cvar in favor of `vid_32bpp` and new menu option.
`vid_32bpp` cvar forces a mode switch when set.
Added '32-bit color' menu option which controls `vid_32bpp` cvar.
Removed all force 8bpp mode settings.
Blit functions updated to correctly copy and translate colors between 8bpp and 32bpp modes.
Disabled `I_BeginRead` which rendered a disk icon during disk loads; basic cyclic dependency problem with palette initialization and caused a crash.
Forced gamma table initialization in palette setup code. Without this the screen would simply turn black in 32bpp because newgamma[] contained nothing but 0s.
In general, code prefers to preserve 32bpp calculated colors and use `BestColor` function to do palette mapping.
Invented `shaderef_t` and `shademap_t` to more sanely track colormap/shademap pair for 8bpp and 32bpp support.
Using `am_color_t` to represent both 32bpp and 8bpp values for automap colors.
32bpp alpha blending for status/pain effects.
SSE2, MMX, AltiVec optimizations for all 4-col rendering functions to do status alpha-blending.
Introduced `r_intrin.h` to sanely detect MMX, SSE2, AltiVec availability.
Added tech-specific optimization files for SSE2, MMX, and AltiVec.
`r_optimize` cvar introduced to detect and switch between CPU rendering optimizations.
Made sure MMX is not included in Win64 build; Win64 does not support MMX.
Using function pointers for all rendering functions to easily switch modes.
Fixed wipes for 32bpp.
Fixed 8bpp vs 32bpp SDL screen mode switching snafu.
Fixed dim effect for 32bpp.
Fixed automap for 32bpp.
Fixed screenshot for 32bpp.
Fixed view window resizing in 32bpp mode.
Fixed particle rendering for 32bpp.
Fixed player setup screen's fire rendering in 32bpp.
Fixed blend for 32bpp modes to be 50% alpha instead of 100% alpha.
Fixed bunny scroll to work in 32bpp.
Fixed CTF border when carrying flag in 32bpp.
Refactored palette setup code.
Generating custom shademaps for default light levels.
Separating shademap construction from colormap.
Much better logarithmic scale for lighting in 32bpp.
Fixed forced 50% alpha for HUD in 32bpp; now repsects menu setting.
Disabled `blend4vs4_sse2` because it produces incorrect colors.
Ramped up red pain effect.
More graceful mode switching failure handling.
Removed ASM code for rendering.
Switched `r_*D` functions to pointers.
`DCanvas::Dim()` vectorized.
`R_DrawSpanD()` vectorized.
Don't use vectorization if `BlendA == 0`; just slows things down.
32bpp player color translation.
Working single-player player color translation in chase mode.
Added vid_vsync and vid_capfps cvars to uncork the 35fps limit.
Only issue a warning if a netdemo file cannot be created.
Proof-of-concept of post-rendering alpha-blending.
Removed now extraneous vectorized rendering functions.
Fixed invuln color map in 32bpp.
Fixed issue where gamma was not maintained across level changes in 32bpp.
Fixed 32bpp player menu setup color translation.
Cleaned up redundant 8bpp vs 32bpp code for player setup menu.
Added definition of forceinline for MSVC compiler.
Implemented templated functions for 8bpp vs 32bpp rendering.
Cleaned up v_draw.cpp types.
Removed unnecessary function pointers.
Fixed underwater areas in 32bpp.
SSE2 optimized rt_lucent4cols.
Unifying types and introducing vectorizable option for translucent walls.
Fixed alphablend2a to generate same (as bright) colors as SSE2 blending.
Replaced DWORD usage with argb_t.
MMX optimized version of translucent rendering.
SSE2 optimized R_DrawSpanD produces much faster aligned memory stores.
Vectorization switch for R_DrawSpanD and R_DrawSlopeSpanD.
SSE2 optimized R_DrawSlopeSpanD.
Fixed translated colors to be colored by sector in 32bpp.
Proper lighting for player colors in 8bpp.
Initialize lighting ramp table for colored lights.
Fixed gamma not being maintained across restarts.
Added dobuilds.cmd to easily automate building for 32-bit and 64-bit and packaging zips.