No, that's the defacto way of building widgets right now. But, you can find a load of examples on github: https://github.com/mendix/. When I started building widgets myself (I work at Mendix) a couple of years ago I started out looking at widgets that were already built
Yes, that's possible. If you build a plugin widget you can define an action in your widget. In the Modeler you then define the action itself. If you would need multiple actions, you can define a list
See 2. I don't understand exactly what you mean with 'bundling'
Looking at your requirements I think it would make more sense to just use a standard Mendix button, add an extra class and style your button in such a way that it's round. That takes less work, is less prone to errors (as a Button is a standard Mendix component). See styling docs: https://docs.mendix.com/howto7/front-end/style-with-gulp-and-sass