pica_progress followups

A number of followups to #284, i.e. some fixes but also some new stuff:

* Fixed decoding for some texture formats
* Fixed texture orientation
* Implemented alpha blending (only a very limited subset of possible code paths is implemented though)
* Implemented depth testing (only a very limited subset of possible code paths is implemented though)
* Added support for a few more texture enviroment configurations
* Implemented backface culling

Additionally, two small workarounds for some issues are added:
* Fixed framebuffer duplication / slicing bugs in 3dscraft (and probably other applications)
* Applications which don't set a w component for input position attributes now have that component forced to 1.0. This is similar to a previous hack I made, but is now compatible with applications which *do* supply this component properly.
Since you're moving this anyway, just make it a regular file-level function.