Is there any way to clean a triangulated mesh? I've been handed some off the shelf meshes to use and I'm finding a number of them have really dirty geometry which is causing an issue with rendering them in (three.js).

Screen shot of the geometry mesh can be seen here:  actual mesh can be downloaded here http://just.dabe.co.uk/dump/three/model/iphone4.obj

The problem is when using THREE.SmoothShading the bad geometry shows up. Is there a tool that can fix a mesh so the polys are equally spaced etc?
I wouldn't recommend retopo for a relatively simple mesh, just create it from scratch scale a cube and add a bevel modifier (apply it when your're happy with the result):



Than add two loop cuts like in the next image this will help to avoid crazy meshes when using Knife project