It turns out that the order of these functions matters. So when we created a
function with only one param, it would actually give it the index. Removing
with the index didn't work, so the object would still be there. The Qt objects
would already be deleted which caused segfaults
CURA-9222
I didn't realise that Cura already had a menu item. To prevent
Confusion, i've changed Cura.MenuItem to use UM.MenuItem and let all
other menus use Cura.MenuItem
It seems that the extra logic doesn't play well with a menu bar.
Since we don't need to make this menu invisible ever, there is no need for the
extra logic to hide it. As such we can just use the regular menu
CURA-8683