[RFC] Initial cleanup of our texture decoders.

This is the initial cleanup that is required if we want to add backend dependent texture decoding.
The current system in place is a mess if one wants to add new decoding methods.

Basically the current system has you going in to TextureDecoder_{Generic,x64}.cpp and having a check in TexDecoder_Decode to point to the correct decoding function to use. This worked fine for OpenCL since it was backend independant, but it was still a kludge.

The new way changes the CPU decoding method over to a class which is compiled as Generic or x86 depending on environment.
Now when implementing a new videobackend dependent we should be able to just derive from the base TextureDecoder class and implement the Decode_*
functions and if one isn't implemented it'll fall back to its correct CPU decoder based route.