I would only like to urge you to think about accessibility. There are many custom GUI libraries out there, but almost all of them are made without thinking about accessibility. It kind of forces certain architecture, which may be hard to fit later. A11y APIs expose widgets in form of a tree.
I thought about writing a cross platform GUI toolkit, that would start from being a cross platform accessibility library.
I thought about writing a cross platform GUI toolkit, that would start from being a cross platform accessibility library.