Replaced NSNumbers with NSDecimalNumber

Because its not that difficult to work with NSDecimalNumbers instead of
NSNumbers, and where precision matters, better to work with
NSDecimalNumbers.