title: Recreate fipy Grid2D with Mesh2D constructor
body: <p>If I create a fipy 2D grid using: </p>
  
  <pre><code>mesh = Grid2D(nx=3, ny=3, dx=1., dy=1.)
  </code></pre>
  
  <p>I get a reasonable grid of rectangular elements. However, if I take the values of this mesh and use them to construct a vanilla <code>Mesh2D</code>:</p>
  
  <pre><code>mesh2d = Mesh2D(mesh.vertexCoords, mesh.faceVertexIDs, mesh.cellFaceIDs)
  </code></pre>
  
  <p>I get a mesh that is triangular, and some of the triangles seem to be invalid. If I do this:</p>
  
  <pre><code>model = CellVariable(mesh=mesh2d, value=1.)
  </code></pre>
  
  <p>and view it with the matplotlib viewer, some of the triangles are unfilled, which I assume means they are not valid.</p>
  
  <p>Can I recreate the original rectangular grid using <code>Mesh2D</code>? I would like to do this because I have distorted rectangular grid coordinates from another source that I'd like substitute for <code>mesh.vectorCoords</code> in the call to <code>Mesh2D</code>. The face vertices and the cell faces are the same, it's just the mesh fabric that has been distorted.</p>