fix floating point calculateion

Python has a specification of floating point calculation
to compute by binary. It often causes collision between
assertion and calculation result in unittests.

e.g.
103.3 - 102.2 = 1.0999999999999943 (expected 1.1)
33.4 - 22.6 = 10.799999999999997 (expected 10.8)

This uses decimal library to prevent assertion error
and fixes the bug.

NOTE:
This does not fix all calculation error in ssbench,
because almost calculation results need not be strict
except for any unit test cases. Additionally, if replacing
all floating calculation by decimal, source code might
be quite hard to read.