refs #741: better save dialogs

Some niceties around default file names, extensions, and save paths. 

Goes from: 

![79761412-2f07-11e4-8ccb-24e4b96752f4](https://cloud.githubusercontent.com/assets/17722/4095006/af1e6b9e-2fae-11e4-820d-c4ebba976fc1.png)

For every type of tile to more custom: 

![screen shot 2014-08-29 at 11 47 52 am](https://cloud.githubusercontent.com/assets/17722/4094996/966e9e2a-2fae-11e4-8450-a5ffe9a89fde.png)

![screen shot 2014-08-29 at 11 56 31 am](https://cloud.githubusercontent.com/assets/17722/4094997/98cf67e4-2fae-11e4-80dc-d28d509ccb5a.png)

**TODO:**

 * [ ] Test on Linux & Windows (particularly for slashes and what `~/` equates to). 

Also, this punts on auto-adding the appropriate file extension if the user leaves it off (which we punt on now). Attempting that leads to silent overwrites of existing files (good times) since you've bypassed the save dialog's built-in de-duping. 
Hrm, I would prob express this as:

    var fileTypes = {
        tm2z: 'Package',
        mbtiles: 'Tiles',
        png: 'Image',
        jpg: 'Image',
        jpeg: 'Image'
    };

A little dupe in exchange for simpler lookup.