Support filtering all formatters by depth

Requirement

Allow filtering all result formatters by depth. At the moment this is only supported by the nested string formatter.

Value Proposition

It may not make a lot of sense to filter the plain or padded result string by result depth, but there is no reason to prevent it. This change will also simplify the result object structure by having a single interface instead of two.

Design Ideas

Merge the IRecordingResult and IRecordingResultWithDepth interfaces into one and always expose the new interface.