Support non-square elements in regular quad mesh generation

as titled
no idea. originally i've put it in generateStructuredMesh.cpp and later moved it here because i thought someone wants to have it in Element class. I don't mind to move it back.