Shrinking time limit

When testing Onebip's rounding feature shrinking took several minutes without the user being aware of what was happening. This PR gives the user the ability to set a time limit for shrinking so that he can trade-off a more complex failing input for execution time.

The default limit is infinite.
Even if they are private with traits they're going to be accessible anyway, so I would go for a `Configuration` object and a series of methods like `setShrinkingTimeLimit()` that can be called on $this?