gallium/cso: Allow custom compare function to be used with cso caches

For sparse data structures it is much more efficient to compare only
parts that are actually used.

Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com>
[WiP] gallium: Work in progress on OpenFIMG driver

Changes:
 - implement custom hashing function (Jenkins one-at-a-time),
 - calculate hash for and compare only used parts of draw info structure
   to save cache, CPU cycles and memory bandwidth.