Support non-square elements in regular quad mesh generation

as titled
I see, with triangles *and* quads the simple approach does not work.
I don't really have an oppinion where to put this method, if nobody minds you can also leave it here.