Implement Array2D with Proxy Array1D

It's the implementation referenced from More Effective C++ Item30.