yeah, I thought about svg’s (as backgrounds) as well. Most of the time a button just stretches horizontally. So I could do it with a solid background-color and :before and after elements.
When I found enough time to try this, I will post a codepen.
Canvases are mostly not embeddable in CMS projects so I always have to work around.
Thank you for your research. Great article. Thanks