Small refactorings as preparation
Fixes for small colour variations in tests

* Most uses of clampTo8Bit actually didn't want 8-bit integers, but just a clamp
  between 0 and 255. There are now two functions. quantizeAndInverse says in its
  comments that these integers are needed, so small colour variations in the
  tests for this cases are expected
* The outputBuffer for quantizeAndInverse was changed back to Int32 to allow
  greater precision in the calculations
Use the same buffer for block data inside the components and the output after
quantisation and inversion.

This will make getData() a bit more expensive when done repeatedly for different
sizes, but I would guess this is not a common usecase anyway.

Benchmarking on big images shows that this is 20% faster.
Rename component.blocks to component.blockData, as this holds block data now
and only indirectly blocks
Produce less garbage by using one big lineData buffer and reusing this for every component
Merge pull request #24 from bthorben/performance

Fixes for small colour variations in tests