Support non-square elements in regular quad mesh generation

as titled
There is a ```getDimension()``` method in each element class. If you'd rather use this, you should remove the old methods incl. the class variable ```dimension```.
Also, this method should be ```const```