ref: 1d84452255fa2d3c41ac2596f39d61d7e3b27b12
dir: /TODO/
• figure out a way to reduce boilerplate for each widget(?) • not sure if pulling every base widget dependency along the library is a great idea, maybe split the headers (<widget.h>, then <widget/textbox.h>, <widget/button.h>, etc)?