Implement Fused map2 + reduce to optimize  loss functions
`sigmoid_cross_entropy` has this definition (bounds checking omitted):

```Nim
proc sigmoid_cross_entropy*[T](input, target: Tensor[T]): T {.inline.} =
  # result = 0.T
  # for xi, ti in zip(input, target):
  #   result += (-ti * xi +  max(xi,0) + ln1p(exp(-abs(xi))) ) / T(input.shape[1])

  let map_tmp = map2_inline(input, target):
    (-y * x +  max(x,0) + ln1p(exp(-abs(x))) ) / T(input.shape[1])

  result = map_tmp.reduce_inline():
    x+=y
```

All loss functions will be `map2 + reduce`, it would be very useful to have `map2_reduce` top optimize CPU speed.