added zip combinator & updated dependencies

I added zip function that allows to map (oldvalue,newvalue) to another types (I think it is extremely useful in cases where we have to analyze the way how the value changed in comparison to old one), here are the tests:

    "zipper" - {
      val a = Var(1)
      val b = a.zip
      val c = a.zip{case (a,b)=>s"$a => $b"}
      a() = 2
      assert(b() == (1,2))
      assert(c() == "1 => 2")
      a() = 3
      assert(b() == (2,3))
      assert(c() == "2 => 3")
      a() = 4
      assert(b() == (3,4))
      assert(c() == "3 => 4")
    }