Skin

When doing class/module/functional stuff its best practise (according to
one of my teachers and makes good sense to me) that the
class/module/function/woteva knows NOTHING of its surroundings.  Such
things should be passed in through init or some public property.

Ive set some variables with something like... zipper=window.JSZip, which
isnt really cool.  It should really be passed in through the IIFEs
arguments, or ideally (because of what I stated above) be passed in
through init or a public property.

Keep in mind I left an underscore on private functions.  This just made
my life easier and it would be fine to change them.