Adds a depth limit to the recursion done by `Formatter.ToString`

Adds a depth limit to the recursion done by `Formatter.ToString.`  Should address concern raised by @marklam in Issue #15