Buffer is constructed by shuffling another
Buffer is constructed by shuffling another

Given a buffer `B` and a vector `V`, the output's vector of pointers is
created as a shuffle copy of that of `B`. The shuffle's map is defined
by `V`.

Output could be zero-extended if desired length is greater than `B`'s
length

For example, pointers of `B` is: `[p0, p1, p2]`. Vector `V` is
`[2, 3, 0, 1]`. Output will be: `[p2, 0, p0, p1]` where `0` stands for
an all-zero buffer.

vrancurel/ntl,vrancurel/ntl,vrancurel/ntl