The new minibatch interface

This works in the following way:

  1. store data on GPU in_memory_size is related
  2. create random slice form stored data of size batch_size
  3. return random slice

GPU storage avoids from/to cpu io. Batch size is not necessary smaller, as it utilizes slices but it for sure is not what you often need