Implement soft particles and fix a few bugs along the way.

Soft particles allow smoothed sprite borders on intersections with geometry that writes to depth buffer. Requires GL_EXT_framebuffer_object and GL_EXT_framebuffer_blit. The effect is enabled by "softParticle" keyword in the shader and setting r_soft_particles cvar to 1. r_soft_particles_scale controls the "thickness" of particles.