softgpu: Don't call rectangles quads.

GLES has quads and they work pretty differently.
softgpu: Respect the texture filering option.

Nearest is much faster, so you can force it to nearest for a good boost in
speed.
softgpu: Refactor pixel drawing to avoid code dup.
softgpu: Let's try doubling before alpha blend.

Fixes #5122.
softgpu: Separate out texturing logic.

This way it can be applied to other primitives.  But, this will probably
need larger changes to implement mipmapping.
softgpu: Interpolate/texture lines and points.

Also, expand out pixels in lines, it's just too slow otherwise (30%
overhead or so.)
softgpu: Cleanup DrawPoint a bit.

Mostly in DrawSinglePixel() now.
Merge pull request #5136 from unknownbrackets/softgpu

Implement line texturing and allow force nearest (softgpu)