Value class Depth.


It's the obvious translation from a raw Int into a value class.

It wasn't that long ago one could find a signature like this:
```
  def merge(tps: List[Type], variance: Int, depth: Int): Type
```
Do you feel lucky, method caller? Well, do ya?

Anyway, now it is:
```
  def merge(tps: List[Type], variance: Variance, depth: Depth): Type
```
Forget for a moment the fact that you'd probably rather not pass variance
for depth and depth for variance and look at the type signatures:
```
  (List[Type], Variance, Depth) => Type
  (List[Type], Int, Int) => Type
```