Is it? Looks like a pretty complete solution to me.
I'd interested to understand whether you intend to build a GUI system from scratch yourself or not, as from my limited experience cross-platform GUI frameworks are actually fairly complex and full of many corner cases. Not sure I would be very happy personally if you decided to postpone such a critical feature because you want to develop it yourself your own way, despite how good it may be in the end.