Issue #101: Draft for precision-based calculator

This was an interesting issue. The point what makes me don't feel free while implementing this is the static extension method Humanize(). I understand its value but I think it has side effects. Sure, this is not final but I'll stop until I get your feedback.

Note: There's a proposal to how to unify DateHumanize() & TimeSpanHumanize() in DefaultFormatter. Tell me what do you think.