libcore: vec::windowed iterates, not allocates.

And add some documentation.