Ellipsis slicing syntax
Just like numpy, allow to use the ellipsis `...` when slicing in `x[..., 0]`, expanding `...` to spans `_` matching the tensor rank in the slice operation. For example if x rank is 3:

`x[..., 0]` => `x[_, _, 0]`
`x[0, ...]` => `x[0, _, _]`
`x[..., 0, 0, 0]` => `x[0, 0, 0]`
`x[0, 0, 0, ...]` => `x[0, 0, 0]`

Optionally, although maybe less used:

`x[0, ..., 0]` => `x[0, _, 0]`
`x[0, 0, ..., 0]` => `x[0, 0, 0]`

