BUG: handle rounding issue with histogram edges on float32 data

Following inequality causes wrong counting at the edges and can be avoided by
making the edge array of the same type as the input data.

In [1]: np.around(np.float64(6010.36962890625), 5)
Out[1]: 6010.3696300000001
In [2]: np.around(np.float32(6010.36962890625), 5)
Out[2]: 6010.3701

Closes gh-4799
Merge pull request #4823 from juliantaylor/hist-rounding

BUG: handle rounding issue with histogram edges on float32 data