Optimize frame.Rows

This makes `frame.Rows` about 4 times faster for a data frame with 1M of rows
(i.e. ~2600ms to ~600ms on my machine). The main change is to decrease the
number of objects that are allocated for each ObjectSeries and virtual vector.
In the new version, it is just two objects (one for the vector & one for the
series). Previously, the operation allocated a number of `ref` objects, `Lazy`
objects and one more `ref` caused by the code generated for `as this` in the
definition of `Series<T>`.