What is required for ECL is indeed to build a provider using the five mentioned interfaces. This will allow you to show the items in the SDL Tridion UI, and depending on how you implement your provider, also editing and creation of new items can be done.
IContentLibraryListItem interface defines the method
CanGetUploadMultimediaItemsUrl() which relates to the method
GetUploadMultimediaItemsUrl(IEclUri parentFolderUri) in the
IContentLibraryContext interface. This allows you to specify a URL of the UI where you can upload new items to the external system. This URL will be loaded in an iframe which is openend by the
Upload Asset button in the Create Ribbon Toolbar.
IContentLibraryMultimediaItem interface also defines a
Save(bool readback) method. This can be used to save the changes made in the Tridion UI back to the external system (if editing on the ECL items is enabled in your provider).
This answer remains a bit cryptic since 2013 isn't released yet, but I'll make example code available somewhere around March 31st. My example code doesn't show the implementation of save, but it does have the create new items option implemented.
So to summarize, the answer to your question is yes. You can create new files in Amazon S3, but to do so you will have to have a web UI for that which can be loaded in an iframe (if you cannot use an available Amazon S3 UI for that, you could consider creating your own of course).