shaper: use global features correctly

start/end of feature tags is unsigned, so use the proper constant
to signal to HarfBuzz that these features are global. This allows
HarfBuzz to cache shape plans, and that can considerably speed up
shaping, especially if many small runs need to be shaped.
Unroll FNV-1A hash function

Unroll the hash function with Duff's device for improved performance.
Merge pull request #39 from grigorig/shaper-hash-opt

Shaper and hash function optimizations