Vertex loader cleanup

This branch was designed to move all vertex attributes information into VideoCommon. So now they are defined by the VertexLoader and the backends are supposed to just pass them through.

But as VideoSW also uses the VertexLoader in a _very_ hacky way, we aren' t allowed to use any new feature now. So in the end, it's a cleanup and a feature preparation.