James Nasmyth, Engineer