file upload button

implementation for #8 using [upload-element](https://npmjs.org/package/upload-element)
Not essential, but we can use [`typedarray-to-buffer`](https://www.npmjs.org/package/typedarray-to-buffer) to avoid an extra copy here.