Following the uiLayout refactor, this converts each layout estimate function as virtuals methods, so w_ and y_ properties can become protected. This includes missing structs for each layout type in `uiItemType`, but without the `ui` prefix (they eventually will be moved to the to the `blender::ui` namespace instead) Pull Request: https://projects.blender.org/blender/blender/pulls/146049