Ok, I looked into it and the problem is that the parser function doesn't use the markup itself but only small snippets. The easiest way is to replace:
image_markup: '<img id="fullResImage" src="{path}" />',
with:
image_markup: '<img id="fullResImage" src="{path}" /><a class="pp_download" href="{path}">Download</a>',
Another way is to use the jquery append functions: http://api.jquery.com/append/ , http://api.jquery.com/prepend/ and/or the html function: http://api.jquery.com/html/ to inject the download link somewhere. You can write your code after following line:
$pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]);
and you can use this variable:
pp_images[set_position]
to get the image url. I'm not sure what's the best methode because you can rearrange and style the download link with html classes and css too.