Add basic UI to S3FS

This PR closes #15.

This will just create a very basic initial working implementation of the UI.

Once this is merged, enhancements can be made via future PRs:

- Validation of the credentials using [AWSValidator][]
- Polymer components for the input fields, button and toasts using [ToastManager][]

[awsvalidator]: https://github.com/lavelle/chromeos-filesystems/blob/s3fs/s3fs/ui/js/lib/awsvalidator.js
[toastmanager]: https://github.com/google/chromeos-filesystems/pull/10

Current status:

- [x] Only support one instance per provider
- [x] Open a window prompting the user to enter credentials when the extension is installed
- [ ] If the user enters invalid credentials, or any other error occurs, the window will reappear with an appropriate error message, until the user enters correct credentials or closes the window
- [ ] If the user closes this window, the extension goes into a deactivated state
- [x] The filesystem instance persists as long as the extension is installed, and remounts itself after any Chrome relaunches
- [x] To unmount the filesystem instance, the user uninstalls the extension
- [ ] If the credentials ever expire or change, the extension will go into a deactivated state
- [ ] When in the deactivated state caused by 4 or 7, the extension will prompt the user to enter new credentials as in step 2 whenever an attempt is made to use it
I guess you can always assign functions to variables before passing them in rather than using anonymous functions. But in general I think it's more readable to use an object for functions with lots of arguments, because then each one is named.

Also if you want to make one optional you can do it cleanly without passing in `null` or reordering them.