Is there a way to convert a mesh's UV's into a second mesh using a script?
In Object Mode with an object selected (tested with an unwrapped cube)

import bpy

ob = bpy.context.object

def createMeshFromData(name, verts, faces):
    # Create mesh and object
    me = bpy.data.meshes.new(name+'Mesh')
    ob = bpy.data.objects.new(name, me)
    ob.show_name = True

    # Link object to scene and make active
    scn = bpy.context.scene
    scn.objects.link(ob)
    scn.objects.active = ob
    ob.select = True

    # Create mesh from given verts, faces.
    me.from_pydata(verts, [], faces)
    # Update mesh with new data
    me.update()    
    return ob

out_verts=[]
out_faces=[]
for face in ob.data.polygons:
    oface=[]   
    for vert, loop in zip(face.vertices, face.loop_indices):
        coord = ob.data.vertices[vert].normal
        normal = ob.data.vertices[vert].co
        uv = ob.data.uv_layers.active.data[loop].uv 
        out_verts.append((uv.x*10,uv.y*10,0))
        oface.append(loop)
    print(oface)
    out_faces.append(oface)

createMeshFromData(ob.name + 'UVObj', out_verts, out_faces)


If you are using Blender 2.8 series, the script below does the exact same thing. Note that there is a size variable introduced to help scale the output mesh if needed:

import bpy

C = bpy.context
ob = C.object
size = 10.0

def createMeshFromData(name, verts, faces):
    # Create mesh and object
    me = bpy.data.meshes.new(name+'Mesh')
    ob = bpy.data.objects.new(name, me)
    ob.show_name = True

    # Link object to scene and make active
    C.view_layer.active_layer_collection.collection.objects.link(ob)
    C.view_layer.objects.active = ob
    ob.select_set(True)

    # Create mesh from given verts, faces.
    me.from_pydata(verts, [], faces)
    # Update mesh with new data
    me.update()    
    return ob

out_verts=[]
out_faces=[]
for face in ob.data.polygons:
    oface=[]   
    for vert, loop in zip(face.vertices, face.loop_indices):
        coord = ob.data.vertices[vert].normal
        normal = ob.data.vertices[vert].co
        uv = ob.data.uv_layers.active.data[loop].uv 
        out_verts.append((uv.x*size,uv.y*size,0))
        oface.append(loop)
    print(oface)
    out_faces.append(oface)

createMeshFromData(ob.name + 'UVObj', out_verts, out_faces)


Result: