implement CalRGB color space

Both whitespace and blackspace support are implemented.
Optimizes defaults for svg.js
Ignore setGState no-ops.

For the document in #2504, 11% of the ops are `setGState` with a
`gStateObj` that is an empty array, which is a no-op. This is possible
because we ignore various setGState keys (OP, OPM, BG, etc).

This change prevents these ops from being inserted into the operator
list.
Merge pull request #5181 from timvandermeij/svg-optimizations

Optimizes defaults for svg.js
Merge pull request #5165 from kkujala/calrgb

implement CalRGB color space
Merge pull request #5192 from nnethercote/empty-setGState

Ignore setGState no-ops.